gpt4 book ai didi

java - 使用 org.codehaus.jackson 反序列化 JSON 字符串

转载 作者:行者123 更新时间:2023-12-02 07:07:27 25 4
gpt4 key购买 nike

我是序列化和反序列化 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 naming conventions 中的属性访问器而不是字段。为了使您的示例正常工作,您可以通过添加来更改此设置

mapper.setVisibilityChecker(mapper.getVisibilityChecker().withFieldVisibility(Visibility.ANY));

查看 VisibilityChecker 上的其他方法以正确自定义 json 映射。

关于java - 使用 org.codehaus.jackson 反序列化 JSON 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15919276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com