gpt4 book ai didi

java - @JsonProperty Json对象里面的Json对象

转载 作者:搜寻专家 更新时间:2023-11-01 03:24:50 25 4
gpt4 key购买 nike

如何使用@JsonProperty() 在另一个 json 对象中获取一个 json 对象?我要获取的示例json是:

"location" : {
"needs_recoding" : false,
"longitude" : "-94.35281245682333",
"latitude" : "35.35363522126198",
"human_address" : "{\"address\":\"7301 ROGERS AVE\",\"city\":\"FORT SMITH\",\"state\":\"AR\",\"zip\":\"\"}"
}

最佳答案

A helpful reference使用 @JsonProperty构造函数中的注释由 StaxMan 提供.一个简单的例子如下所示:

public class Address {
private String address;
private String city;
private String state;
private String zip;

// Constructors, getters/setters
}

public class Location {
private boolean needsRecoding;
private Double longitude;
private Double latitude;
private Address humanAddress;

public Location() {
super();
}

@JsonCreator
public Location(
@JsonProperty("needs_recoding") boolean needsRecoding,
@JsonProperty("longitude") Double longitude,
@JsonProperty("latitude") Double latitude,
@JsonProperty("human_address") Address humanAddress) {

super();
this.needsRecoding = needsRecoding;
this.longitude = longitude;
this.latitude = latitude;
this.humanAddress = humanAddress;
}

// getters/setters
}

或者,您可以将内容直接反序列化为 JSON 对象树。下图对 Location 类示例稍作修改:

public class Location {
private boolean needsRecoding;
private Double longitude;
private Double latitude;

// Note the use of JsonNode, as opposed to an explicitly created POJO
private JsonNode humanAddress;

public Location() {
super();
}

@JsonCreator
public Location(
@JsonProperty("needs_recoding") boolean needsRecoding,
@JsonProperty("longitude") Double longitude,
@JsonProperty("latitude") Double latitude,
@JsonProperty("human_address") JsonNode humanAddress) {

super();
this.needsRecoding = needsRecoding;
this.longitude = longitude;
this.latitude = latitude;
this.humanAddress = humanAddress;
}

// getters/setters
}

关于java - @JsonProperty Json对象里面的Json对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17396703/

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