将 JSON 映射到列表<映射<<字符串、对象>>

2022-09-01 18:24:08

我有一个格式的 JSON

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

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

我需要将它映射到一个持有各种物体的物体上。我该如何实现它?ListMap

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

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

}

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


答案 1

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

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

答案 2

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

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