Maison >Java >javaDidacticiel >Comment convertir JSON en objets Java à l'aide de Jackson ?
Comment convertir JSON en objets Java à l'aide de Jackson
Dans ce guide, nous visons à transformer une chaîne JSON en un objet Java, permettant pour un accès pratique à ses propriétés. Cet exemple présente une chaîne JSON contenant une bibliothèque avec plusieurs morceaux de musique, démontrant comment utiliser à la fois les méthodes de mappage de Jackson et les classes Java personnalisées pour réaliser cette conversion.
Utilisation de la désérialisation basée sur la carte de Jackson :
<code class="java">ObjectMapper mapper = new ObjectMapper(); Map<String, Object> map = mapper.readValue(json, Map.class);</code>
Cette approche crée une simple carte Java dans laquelle chaque clé JSON est mappée à une valeur d'objet. Cependant, il lui manque la structure et la sécurité de type des classes Java personnalisées.
Utilisation de l'arbre JSON de Jackson :
<code class="java">JsonNode rootNode = mapper.readTree(json);</code>
Cette méthode renvoie un arbre JSON, un arbre hiérarchique. représentation de la chaîne JSON qui offre une meilleure flexibilité qu'une simple carte. Il permet une exploration et une traversée dynamiques des données JSON.
Création de classes Java personnalisées :
Pour une représentation plus structurée et plus sécurisée, nous pouvons définir des classes Java personnalisées classes :
<code class="java">public class Library { @JsonProperty("libraryname") public String name; @JsonProperty("mymusic") public List<Song> songs; } public class Song { @JsonProperty("Artist Name") public String artistName; @JsonProperty("Song Name") public String songName; }</code>
En utilisant ces classes, nous pouvons désérialiser la chaîne JSON comme suit :
<code class="java">Library lib = mapper.readValue(jsonString, Library.class);</code>
Maintenant, nous pouvons accéder facilement à la bibliothèque et à ses pistes :
<code class="java">String libraryName = lib.name; Song firstTrack = lib.songs.get(0); String artistName = firstTrack.artistName;</code>
Cette approche offre une manière plus intuitive et orientée objet de manipuler les données JSON par rapport à l'utilisation de cartes simples ou d'arbres JSON.
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!