gpt4 book ai didi

java - 为什么我的属性转换为pojo后无法识别

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

我有以下 JSON:

{ "_id" : "3", "longitude" : "3222", "latitude" : "55", "timeDateOfUsage" : ["02/11/17 13:30:35", "1", "02/11/17 13:30:45", "1", "02/11/17 13:30:51", "0"] }

我正在尝试使用 jackson 将其转换为 pojo。这就是我所拥有的:

String inputJson = "{ \"_id\" : \"3\", \"longitude\" : \"3222\", 

\"latitude\" : \"55\", \"timeDateOfUsage\" : [\"02/11/17 13:30:35\", \"1\", \"02/11/17 13:30:45\", \"1\", \"02/11/17 13:30:51\", \"0\"] }";
ObjectMapper mapper = new ObjectMapper().setVisibility(JsonMethod.FIELD, JsonAutoDetect.Visibility.ANY);
mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
try{
dbResponseonce response = mapper.readValue(inputJson,dbResponseonce.class);
System.out.println(response.getLatitude());
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

我的另一个类具有以 JSON 中的元素命名的字段,并且具有 getter 和 setter。

上面的代码可以工作,但是当我只创建一个没有配置的基本 ObjectMapper 对象时,它不起作用。为什么是这样?这是堆栈跟踪错误:

org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "_id" (Class dbResponseonce), not marked as ignorable

这是我的 pojo 类,它具有 getter 和 setter:

public class dbResponseonce {

private String _id;

public String getId() { return this._id; }

public void setId(String _id) { this._id = _id; }

private String longitude;

public String getLongitude() { return this.longitude; }

public void setLongitude(String longitude) { this.longitude = longitude; }

private String latitude;

public String getLatitude() { return this.latitude; }

public void setLatitude(String latitude) { this.latitude = latitude; }

private ArrayList<String> timeDateOfUsage;

public ArrayList<String> getTimeDateOfUsage() { return this.timeDateOfUsage; }

public void setTimeDateOfUsage(ArrayList<String> timeDateOfUsage) { this.timeDateOfUsage = timeDateOfUsage; }}

最佳答案

_id 的 getter 和 setter 不正确。

尝试按如下方式定义它们:

public String get_id() {
return _id;
}

public void set_id(String _id) {
this._id = _id;
}

或者在 _id 的 getter 或 setter 上使用 @JsonProperty("_id")

关于java - 为什么我的属性转换为pojo后无法识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47077376/

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