【发布时间】:2020-06-01 11:18:55
【问题描述】:
以下是我的 JSON 数据。我想将其转换为 POJO,以将名称、id、职业存储在头表中,并将相应的 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);
如何将整个 JSON 分配给两个 Java 对象?
【问题讨论】:
-
你应该有一个类
Order和字段private List<Order> orders。顺便说一句,请跳到 Java 代码约定,并在camelCase中有变量名。 -
@Seelenvirtuose 谢谢伙计。这对我有用!我只是手动编写了那个类来模拟我的实际数据,所以不能遵守约定。但真的很棒的小费(y)