Java Jackson JSON异常
我写了以下内容:Java Jackson JSON异常,java,json,jackson,Java,Json,Jackson,我写了以下内容: ObjectMapper oMapper = new ObjectMapper(); Object oPOJO = null; String p_strJSON = "{\"name\" : { \"first\" : \"Joe\", \"last\" : " + "\"Sixpack\" },\"gender\" : \"MALE\",\"verified\" : \"false\"," + "\"userImage\" : \"Rm9vYmFyIQ==\
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]处的START_对象标记中反序列化java.lang.String实例。StringReader@3eca90;行:1,列:1]
我是不是用错了Jackson?我正在使用1.9.6 JAR-我是否需要在CLAPATH中设置任何东西?如果您的用户类看起来像这样,那么您的代码将通过
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
}
你的p_clsType类是什么?很抱歉,现在可以举个例子了。你的名字对象在用户定义中是一个字符串吗?一个“名字”对象如果没有你的用户类实现,很难分辨。你的例子摘自本页。你的用户和那里的用户一样吗?缺少用户对象会使这个问题变得毫无价值,也不可能以有用的方式回答。谢谢@Joey!出于好奇,为什么
name
必须是name
实例?我把它当作一个字符串…因为当Jackson看到一个“{”时,它是一个对象的开始