将 JSON 映射到列表<Map<<String, Object>>

新手上路,请多包涵

我有一个格式的 JSON

 [{
    "id" : "a01",
    "name" : "random1",
    "val" : "random2"

},
{
    "id" : "a03",
    "name" : "random3",
    "val" : "random4"
}]

我需要将它映射到 List 持有各种 Map 对象。我如何实现它?

即使我能够将此 JSON 转换为 ListString 的形式

{
    "id" : "a01",
    "name" : "random1",
    "val" : "random2"

}

然后我有一种方法可以将每个人 String 转换为 Map

原文由 Pranay Kumar 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 483
2 个回答

您需要将 TypeReference 传递给 readValue 并具有所需的结果类型:

 ObjectMapper mapper = new ObjectMapper();
List<Map<String, Object>> data = mapper.readValue(json, new TypeReference<List<Map<String, Object>>>(){});

原文由 Manos Nikolaidis 发布,翻译遵循 CC BY-SA 3.0 许可协议

使用具有指定类型的 gson 转换为地图列表:

 Gson gson = new Gson();
Type resultType = new TypeToken<List<Map<String, Object>>>(){}.getType();
List<Map<String, Object>> result = gson.fromJson(json, resultType);

原文由 alexey28 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题