-2

私は次のように書いています:

ObjectMapper oMapper = new ObjectMapper();
Object oPOJO = null;

String p_strJSON = "{\"name\" : { \"first\" : \"Joe\", \"last\" : "
    + "\"Sixpack\" },\"gender\" : \"MALE\",\"verified\" : \"false\","
    + "\"userImage\" : \"Rm9vYmFyIQ==\"}";

try
{
    oPOJO = oMapper.readValue(p_strJSON, User.class);
}
catch(Throwable oThrowable)
{
    System.out.println(oThrowable.getMessage());

    throw new RuntimeException(oThrowable);
}

実行時に次の例外メッセージが表示されます。

[ソース: java.io.StringReader@3eca90; で START_OBJECT トークンから java.lang.String のインスタンスをデシリアライズできません。行: 1、列: 1]

ジャクソンを間違って使用していますか? 私は 1.9.6 JAR を使用しています - クラスパスに何か設定する必要がありますか?

4

1 に答える 1

2

ユーザークラスが次のように見える場合、コードは合格します

public class User {
  private Name name;
  private String gender;
  private boolean verified;
  private String userImage;

  // getter and setter
}

public class Name {
  private String first;
  private String last;

  // getter and setter
}
于 2012-05-21T19:20:38.730 に答える