Maison > Java > javaDidacticiel > le corps du texte

Comment convertir une chaîne JSON en objet Java avec Jackson ?

Barbara Streisand
Libérer: 2024-11-05 10:48:02
original
667 Les gens l'ont consulté

How to Convert a JSON String to a Java Object with Jackson?

Conversion d'une chaîne JSON en objet Java avec Jackson

Pour convertir une chaîne JSON en objet Java, Jackson est une bibliothèque Java open source largement appréciée pour sa flexibilité. Dans ce cas, explorons comment utiliser Jackson pour atteindre votre objectif :

La chaîne JSON fournie contient une structure de type carte avec des paires clé-valeur pour "libraryname" et une liste imbriquée de "mymusic" contenant d'autres paires clé-valeur.

Utiliser Jackson pour convertir JSON en carte/liste :

<code class="java">ObjectMapper mapper = new ObjectMapper();
Map<String, Object> map = mapper.readValue(jsonString, Map.class);</code>
Copier après la connexion

Cette approche traite le JSON comme une simple carte, où vous pouvez accéder aux valeurs à l'aide de la clé, telles que comme :

<code class="java">System.out.println(map.get("libraryname"));
List<Map<String, Object>> songsList = (List<Map<String, Object>>) map.get("mymusic");
System.out.println(songsList.get(0).get("Artist Name"));</code>
Copier après la connexion

Utilisation de Jackson pour JSON Tree :

<code class="java">JsonNode rootNode = mapper.readTree(jsonString);</code>
Copier après la connexion

L'approche JSON Tree vous permet d'accéder à la structure JSON de manière plus dynamique :

<code class="java">System.out.println(rootNode.get("libraryname").asText());
JsonNode myMusicArray = rootNode.get("mymusic");
System.out.println(myMusicArray.get(0).get("Artist Name").asText());</code>
Copier après la connexion

Utilisation Java Pojos (approche préférée)

Vous pouvez également définir des objets Java Plain Old Java (POJO) pour représenter votre structure JSON :

<code class="java">public class Library {
    @JsonProperty("libraryname")
    private String name;
    @JsonProperty("mymusic")
    private List<Song> songs;
}
public class Song {
    @JsonProperty("Artist Name")
    private String artistName;
    @JsonProperty("Song Name")
    private String songName;
}

ObjectMapper mapper = new ObjectMapper();
Library library = mapper.readValue(jsonString, Library.class);</code>
Copier après la connexion

Cette méthode vous permet d'accéder aux données dans un de manière plus orientée objet :

<code class="java">System.out.println(library.getName());
List<Song> songs = library.getSongs();
System.out.println(songs.get(0).getArtistName());</code>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal