![](/img/trans.png)
[英]Changing json libs to deserialize json array from com.fasterxml.jackson to org.codehaus.jackson?
[英]Deserialize JSON String using org.codehaus.jackson
我是序列化和反序列化JSON的新手。
我有值的字符串
String json = [{"Area":"LoremIpsum","Quantity":1500,"isSubArea":false},
{"Area":"LoremIpsum","Quantity":700,"isSubArea":false}];
我想反序列化,我使用Jackson的ObjectMapper進行反序列化
ObjectMapper mapper = new ObjectMapper();
List<DeserializeJSON> agentsList = mapper.readValue(json,new TypeReference<List<DeserializeJSON>>() {});
我反序列化了
public class DeserializeJSON {
String Area;
Integer Quantity = 0;
boolean isSubArea = false;
public String getArea() {
return Area;
}
public void setArea(String Area) {
this.Area = Area;
}
public Integer getQuantity() {
return Quantity;
}
public void setQuantity(Integer Quantity) {
this.Quantity = Quantity;
}
public boolean isSubArea() {
return isSubArea;
}
public void setSubArea(boolean isSubArea) {
this.isSubArea = isSubArea;
}
}
但我得到錯誤
Unrecognized field "Area" (Class DeserializeJSON), not marked as ignorable at [Source: java.io.StringReader@2acf7a; line: 1, column: 11] (through reference chain: DeserializeJSON["Area"])
默認情況下,Jackson將在JavaBean命名約定中使用屬性訪問器而不是字段。 為了使您的示例有效,您可以通過添加來更改它
mapper.setVisibilityChecker(mapper.getVisibilityChecker().withFieldVisibility(Visibility.ANY));
查看VisibilityChecker
上的其他方法,以正確定制您的json映射。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.