-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);
}

并在执行时收到以下异常消息:

无法从 [Source: java.io.StringReader@3eca90; 的 START_OBJECT 令牌中反序列化 java.lang.String 的实例;行:1,列:1]

我是否错误地使用了杰克逊?我正在使用 1.9.6 JAR - 我是否需要在 claspath 中设置任何内容?

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 回答