[英]Convert JSON to JAVA by jackson
我正在尝试解析从Google自定义搜索中检索到的json数据。
这是json示例:
{
"items": [
{
"link": "address1"
},
{
"link": "address2"
}
]
}
这是POJO:
public class Result
{
item[] items;
class item
{
String link;
}
}
但是我得到一个错误:
无法识别的字段“ items”(类结果),未标记为可忽略
我的POJO有什么问题?
使类结构如下
class item {
String link;
}
@JsonIgnoreProperties(ignoreUnknown=true)
class Result {
item[] items;
}
如果JSON字符串中有任何属性,但是@JsonIgnoreProperties(ignoreUnknown = true)会完全帮助您,但类中不存在该属性,那么解析器不会遇到任何异常,它只会忽略它。
编辑:带有示例的完整代码
class Item {
String link;
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
}
@JsonIgnoreProperties(ignoreUnknown = true)
class Result {
List<Item> items;
public List<Item> getItems() {
return items;
}
public void setItems(List<Item> items) {
this.items = items;
}
}
public class JsonCommonTest {
public static void main(String[] args) throws Exception {
ObjectMapper mapper = new ObjectMapper();
String data = "{\"items\": [{\"link\": \"address1\"},{\"link\": \"address2 \"}]}";
Result result = mapper.readValue(data, Result.class);
System.out.println(result.items.size());
}
}
如果在杰克逊中使用内部类,则内部类必须是静态的,或者不要使用内部类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.