如何使用Jackson反序列化包含nest类的JavaBean&;列表
我有一个JavaBean:如何使用Jackson反序列化包含nest类的JavaBean&;列表,java,json,jackson,Java,Json,Jackson,我有一个JavaBean: public Class Account{ String userName; String id; List<Detail> details; class Detail{ String num; String name; } } 公共类帐户{ 字符串用户名; 字符串id; 列出详情; 课堂细节{ 字符串数; 字符串名; } } 这里有JSON: {“用户名”:“Tony”,“i
public Class Account{
String userName;
String id;
List<Detail> details;
class Detail{
String num;
String name;
}
}
公共类帐户{
字符串用户名;
字符串id;
列出详情;
课堂细节{
字符串数;
字符串名;
}
}
这里有JSON:
{“用户名”:“Tony”,“id”:“123”,“详细信息”:[{“num”:“1”,“name”:“Tom”},{“num”:“2”,“name”:“Jerry”}]}
如何使用Jackson进行反序列化?谢谢首先,
用户名
字段名应与json字符串(用户名)中的字段名相同
将列表
中的打字错误修正为列表
,将详细信息
类名修正为详细信息
为类字段添加getter和setter
使用以下示例反序列化json:
String jsonStr = "{\"userName\":\"Tony\",\"id\":\"123\",\"details\":[{\"num\":\"1\",\"name\":\"Tom\"},{\"num\":\"2\",\"name\":\"Jerry\"}]}";
ObjectMapper mapper = new ObjectMapper();
try {
Account account = mapper.readValue(jsonStr, Account.class);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
首先,
userName
字段名应与json字符串(userName)中的字段名相同
将列表
中的打字错误修正为列表
,将详细信息
类名修正为详细信息
为类字段添加getter和setter
使用以下示例反序列化json:
String jsonStr = "{\"userName\":\"Tony\",\"id\":\"123\",\"details\":[{\"num\":\"1\",\"name\":\"Tom\"},{\"num\":\"2\",\"name\":\"Jerry\"}]}";
ObjectMapper mapper = new ObjectMapper();
try {
Account account = mapper.readValue(jsonStr, Account.class);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我在bean中没有看到映射。我在bean.com.fasterxml.jackson.databind.JsonMappingException中没有看到映射:找不到类型[simple type,class com.Account$Detail]的合适构造函数:无法从[Source:java.io]的JSON对象实例化(需要添加/启用类型信息吗?)。StringReader@6e2c9341;行:1,列:43](通过com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:164)com.fasterxml.jackson.databind.JsonMappingException上的引用链:com.Account[“details”]:找不到类型[简单类型,类com.Account$Detail]的合适构造函数:无法从JSON对象实例化(需要添加/启用类型信息?)在[来源:java.io。StringReader@6e2c9341;行:1,列:43](通过com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:164)上的引用链:com.Account[“details”])