gpt4 book ai didi

java - 将具有多个对象的json文件读入 map java

转载 作者:行者123 更新时间:2023-12-04 17:53:18 24 4
gpt4 key购买 nike

注意:在此处发布此内容之前,我花了很多时间尝试在此处寻找有关此问题的解决方案,但找不到任何解决方案。

我有这个 JSON 文件,其中包含多个我想读入 map 的 json 对象,每个对象的格式为 {"key1":"value1", "key2":"value2"} ,我试过了

Map<String, String> map = MAPPER.readValue(fixture("fixtures/file_name.json"), new TypeReference<Map<String, String>>() {});

因为它适用于将文件读入列表映射的映射 ( Map<String, Map<String, List<String>>> )。有什么应该不同的吗?

我的 .json文件看起来像

[
{"key1":"value1_1", "key2":"value2_1"},
{"key1":"value1_2", "key2":"value2_2"},
...
]

我还有另一个 json 文件,我想读入 map ,看起来像

[
"key1": {
"key1_1": [
{"key1_1_1":"value1", "key1_1_2":"value2"},
...
],
...
},
"key2":<int>,
"key3":{
"key3_1":[],
...
},
...
"key_n":<string>,
...
]

你能帮我正确映射那些文件,而不用写太多代码行吗?

最佳答案

当您处理从字符串到 JsonArray 的嵌套对象的不同情况时,最好将您的 map 实现为 Map<String, Object> .

按照下面的实现,

ObjectMapper mapper = new ObjectMapper();
MapType type = mapper.getTypeFactory().constructMapType(
Map.class, String.class, Object.class);
Map<String, Object> data = mapper.readValue(jsonString, type);

在这里,我将 JSON 作为字符串读取。您也可以更改实现以适应文件读取。

关于java - 将具有多个对象的json文件读入 map java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42579122/

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