web-dev-qa-db-fra.com

Mappage JSON à la liste <Map << String, Object >>

J'ai un json du format

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

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

Je dois convertir dans une liste de cartes. Alors, comment puis-je obtenir le même? Même si je suis capable de le convertir en une liste de chaînes telle que chaque chaîne est de la forme

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

}

j'ai une méthode pour le convertir en une carte. Alors, comment extraire une telle liste de chaînes?

6
Pranay Kumar

Vous devrez passer de TypeReference à readValue avec le type de résultat souhaité:

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

Utilisez gson avec le type spécifié pour convertir en liste de cartes:

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