Heim >Java >javaLernprogramm >Wie konvertiere ich mit Jackson einen JSON-String in ein Java-Objekt?
Um einen JSON-String in ein Java-Objekt zu konvertieren, ist Jackson eine Open-Source-Java-Bibliothek, die weithin für ihre Flexibilität geschätzt wird. Lassen Sie uns in diesem Fall untersuchen, wie Sie Jackson verwenden, um Ihr Ziel zu erreichen:
Der bereitgestellte JSON-String enthält eine kartenartige Struktur mit Schlüssel-Wert-Paaren für „libraryname“ und eine verschachtelte Liste von „mymusic“, die weitere enthält Schlüssel-Wert-Paare.
<code class="java">ObjectMapper mapper = new ObjectMapper(); Map<String, Object> map = mapper.readValue(jsonString, Map.class);</code>
Dieser Ansatz behandelt den JSON als einfache Karte, in der Sie mithilfe des Schlüssels auf Werte zugreifen können, z als:
<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>
<code class="java">JsonNode rootNode = mapper.readTree(jsonString);</code>
Der JSON Tree-Ansatz ermöglicht Ihnen einen dynamischeren Zugriff auf die JSON-Struktur:
<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>
Alternativ können Sie Java Plain Old Java Objects (POJOs) definieren, um Ihre JSON-Struktur darzustellen:
<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>
Mit dieser Methode können Sie auf die Daten in einem zugreifen objektorientierter:
<code class="java">System.out.println(library.getName()); List<Song> songs = library.getSongs(); System.out.println(songs.get(0).getArtistName());</code>
Das obige ist der detaillierte Inhalt vonWie konvertiere ich mit Jackson einen JSON-String in ein Java-Objekt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!