Maison >Java >javaDidacticiel >Comment désérialiser des tableaux d'objets JSON à l'aide de Jackson ?
Désérialisation d'un tableau d'objets à l'aide de Jackson
Lorsque l'on traite des données JSON, il est souvent nécessaire d'analyser des tableaux d'objets. Jackson, une bibliothèque Java populaire pour la liaison de données, prend en charge la désérialisation de telles structures.
La documentation de Jackson indique qu'elle peut désérialiser les « tableaux de tous les types pris en charge ». Cependant, la syntaxe spécifique de ce processus peut ne pas être immédiatement apparente. Pour clarifier la désérialisation des tableaux à l'aide de Jackson, explorons le scénario suivant :
Désérialisation d'un seul objet
Considérez l'entrée JSON suivante :
{ "id" : "junk", "stuff" : "things" }
Pour désérialiser ce JSON en un objet Java nommé MyClass, nous utiliserions ce qui suit code :
//json input { "id" : "junk", "stuff" : "things" } //Java MyClass instance = objectMapper.readValue(json, MyClass.class);
Désérialiser un tableau d'objets
Pour un tableau d'objets MyClass, l'entrée JSON ressemblerait à ceci :
[{ "id" : "junk", "stuff" : "things" }, { "id" : "spam", "stuff" : "eggs" }]
Pour désérialiser ce tableau en une liste Java d'objets MyClass, nous avons deux options :
Comme tableau :
MyClass[] myObjects = mapper.readValue(json, MyClass[].class);
Comme liste :
List<MyClass> myObjects = mapper.readValue(jsonInput, new TypeReference<List<MyClass>>() {});
Alternativement, nous pouvons spécifier le Tapez la liste comme :
List<MyClass> myObjects = mapper.readValue(jsonInput, mapper.getTypeFactory().constructCollectionType(List.class, MyClass.class));
En suivant ces méthodes, vous pouvez désérialiser efficacement les tableaux d'objets à l'aide de Jackson et accédez facilement à leur contenu dans votre code Java.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!