![](/img/trans.png)
[英]Parse json field that may be an JSONObject or JSONArray in java
[英]JsonArray field in a JsonObject to Java Object
下面是我的 JSON 數據。 我想將其轉換為 POJO 以將 Name、id、profession 存儲在 header 表中,並將相應的 Jsonarray 字段存儲在子表中。
JSON:
{
"Name": "Bob",
"id": 453345,
"Profession": "Clerk",
"Orders": [
{
"Item": "Milk",
"Qty": 3
},
{
"Item": "Bread",
"Qty": 3
}
]
}
Entity classes:
public class User {
private String name;
private Integer id;
private String Profession;
private JsonArray Orders;
private UserCart userCart;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getProfession() {
return Profession;
}
public void setProfession(String profession) {
Profession = profession;
}
public JsonArray getOrders() {
return Orders;
}
public void setOrders(JsonArray orders) {
Orders = orders;
}
public UserCart getUserCart() {
return userCart;
}
public void setUserCart(UserCart userCart) {
this.userCart = userCart;
}
}
public class UserCart {
private String item;
private Integer qty;
public String getItem() {
return item;
}
public void setItem(String item) {
this.item = item;
}
public Integer getQty() {
return qty;
}
public void setQty(Integer qty) {
this.qty = qty;
}
}
但是當我在下面做時; 我收到錯誤
無法從 START_ARRAY 令牌中反序列化
org.json.JSONArray
的實例
User user = new User();
JsonNode data = new ObjectMapper().readTree(jsonString);
user = headerMap.readValue(data.toString(), User.class);
我如何 go 關於將整個 JSON 分配給兩個 Java 對象?
將List<UserCart>
用於 json 中的數組數據,並使用@JsonProperty
將不同的 json 節點名稱映射到 java626966 字段。 不再需要使用額外的字段( JsonArray Orders
)。
@JsonProperty("Orders")
private List<UserCart> userCart;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.