0
我是序列化和反序列化JSON的新手。使用org.codehaus.jackson反序列化JSON字符串
我有字符串值
String json = [{"Area":"LoremIpsum","Quantity":1500,"isSubArea":false},
{"Area":"LoremIpsum","Quantity":700,"isSubArea":false}];
,我想反序列化,我用傑克遜的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: [email protected]; line: 1, column: 11] (through reference chain: DeserializeJSON["Area"])
謝謝ryanp,我不能改變DeserializeJSON類,這樣我就不必設置visibilityChecker,其實我已經檢查了不同的組合,但沒有找到工作。 – Sushant 2013-04-10 07:58:59
@Sushant - 是的,你可以,我建議你這樣做,因爲無論如何,以大寫字母開頭的字段名稱都是奇怪的。看看如何用例如自定義映射您訪問器上的'@ JsonProperty'註釋。 – ryanp 2013-04-10 08:07:33