java使用Jackson反序列化复杂的Json
我遇到了一个关于“复杂”json的问题:
{
"Books": [
{
"title": "Java",
"instructions": [],
"links": {
"EJB": {
"href": "www.java.com/EJB"
}
}
},
{
"title": "C#",
"instructions": [],
"links": {
"SOAP": {
"href": "www.C#.com/SOAP"
}
}
}]
}
有人能告诉我如何反序列化这种JSON以获得POJO列表吗
POJO必须是一本包含三个字段的“书”:标题、说明和链接
谢谢
# 1 楼答案
您的
POJO
类可以如下所示:简单用法:
以上程序打印:
# 2 楼答案
首先,JSON有一个根本性的问题;您有重复的成员名称
在这种情况下,解析器的行为是未定义的。由于jsonschema2pojo使用Jackson,这意味着您将获得每个重复成员的last定义值
使用数组:
然后,jsonschema2pojo将不会真正反序列化为POJO;您真正想要的是为数组元素(即一个对象)定义类
MyClass
,并使用Jackson的ObjectMapper反序列化: