gpt4 book ai didi

java - 如何使用 Jackson 将 JSON 反序列化为 Map 对象?

转载 作者:行者123 更新时间:2023-12-02 11:42:26 25 4
gpt4 key购买 nike

我有一个带有标签的 JSON,其中包含任意键和值类型,我想将其读入 Java 中 POJO 内的映射中。该映射将是一个类似于 JsonValue 或 JsonNode 的字符串。我正在使用对象映射器来解析 json。

有人对如何设置我的 POJO 来与 Jackson 一起完成此任务有建议吗?或者有更好的方法来解决这个问题?

Json 示例:

{
"thing": "name",
"params": {
"foo": 45.5,
"key": "value"
}
}

映射方法:

ObjectMapper objectMapper = new ObjectMapper();
MyClasst = objectMapper.readValue(json, MyClass.class);

我的POJO:

public class MyClass {
private String thing;
private Map<String, SOMETHING> params;

public String getThing(){
return thing;
}

public void setThing(String thing) {
this.thing = thing;
}

public Map<String, SOMETHING> getParams(){
return params;
}

public void setParams(Map<String, SOMETHING> params) {
this.params = params;
}
}

最佳答案

假设您的 key 始终为以下 JSON 的 String 类型,

"params": {
"foo": 45.5,
"key": "value"
}

您应该将 map 值用作Object,因为值可以是StringDouble或其他任何值。

private Map<String, Object> params;

关于java - 如何使用 Jackson 将 JSON 反序列化为 Map 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48456079/

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