gpt4 book ai didi

java Jackson Mapper - 嵌套属性

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

我有 2 个简单的实体

public class User {
public int id;
public String name;
}
public class Item {
public int id;
public String name;
public User owner;
}

Jackson 可以成功反序列化此 json。

{
"id": 1,
"name": "theItem",
"owner": {
"id": 2,
"name": "theUser"
}
}

new ObjectMapper().readValue(JSON, Item.class);

问题

我想知道是否可以反序列化下一个 json,而不必创建另一个实体(Item2.class)。

我想使用 Item.class 反序列化它

{
"id": 1,
"name": "theItem",
"owner_id": 2,
"owner_name": "theUser"
}



public class Item2 {
public int id;
public String name;
public int owner_id;
public String owner_name;
}

这有可能吗?

最佳答案

是的,你可以做到,但只需创建 Map<String,Object> Jackson 负责将值转换为整数或字符串,下面是有效的代码

public class Item {

public int id;
public String name;
public Map<String, Object> owner ;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Map<String, Object> getOwner() {
return owner;
}
public void setOwner(Map<String, Object> owner) {
this.owner = owner;
}

}

关于java Jackson Mapper - 嵌套属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51884932/

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