gpt4 book ai didi

java - 使用 jackson 将 json 对象列表转换为 hashmap

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:31:49 25 4
gpt4 key购买 nike

有没有一种方法可以使用内置的 Jackson 功能将 json 对象列表转换为使用 java 的 HashMap

解释:我需要解析的json结构

{
list:[
{
keyId : 1,
keyLabel : "Test 1",
valueId: 34,
valueLabel: "Test Lable"
},
{
keyId : 2,
keyLabel : "Test 2",
valueId: 35,
valueLabel: "Test Lable"
},
{
keyId : 3,
keyLabel : "Test 3",
valueId: 36,
valueLabel: "Test Lable"
}
]
}

我期待的对象模型,

class Key{
int keyId;
String keyLable;

hashCode(){
return keyId.hashCode();
}
}

class Value{
int valueId;
String valueLable;

hashCode(){
return valueId.hashCode();
}
}

我需要将上面的json列表转换成这样的map,

HashMap<Key,Value> map;

最佳答案

我建议手动完成。你只需要写几行。类似的东西

    ObjectMapper jmap = new ObjectMapper();
//Ignore value properties
List<Key> keys = jmap.readValue("[{}, {}]", jmap.getTypeFactory().constructCollectionType(ArrayList.class, Key.class));
//Ignore key properties
List<Value> values = jmap.readValue("[{}, {}]", jmap.getTypeFactory().constructCollectionType(ArrayList.class, Value.class));

Map<Key, Value> data = new HashMap<>();
for (int i = 0; i < keys.size(); i++) {
data.put(keys.get(i), values.get(i));
}

注意:您的 json 和模型中存在拼写不匹配 (valueLabel != valueLable)。

关于java - 使用 jackson 将 json 对象列表转换为 hashmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35788634/

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