首頁 > Java > java教程 > 主體

如何使用 Jackson 將 JSON 字串轉換為 Java 物件?

Barbara Streisand
發布: 2024-11-05 10:48:02
原創
667 人瀏覽過

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

使用Jackson 將JSON 字串轉換為Java 物件

要將JSON 字串轉換為Java 對象,Jackson 是因其靈活性而受到廣泛認可的開源Java 函式庫。在這種情況下,讓我們探索如何使用Jackson 來實現您的目標:

提供的JSON 字串包含一個類似映射的結構,其中包含「libraryname」的鍵值對和包含進一步內容的“mymusic”的嵌套列表鍵值對。

使用Jackson 將JSON 轉換為Map/List:

<code class="java">ObjectMapper mapper = new ObjectMapper();
Map<String, Object> map = mapper.readValue(jsonString, Map.class);</code>
登入後複製

這種方法將JSON 視為一個簡單的Map,您可以在其中使用鍵存取值,例如as:

<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>
登入後複製

使用Jackson 建立JSON 樹:

<code class="java">JsonNode rootNode = mapper.readTree(jsonString);</code>
登入後複製

JSON 樹方法可讓您更動態地存取JSON 結構:

<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>
登入後複製

使用Java Pojos(首選方法)

或者,您可以定義Java Plain Old Java 物件(POJO) 來表示您的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>
登入後複製

此方法允許您存取a 中的資料更面向對象的方式:

<code class="java">System.out.println(library.getName());
List<Song> songs = library.getSongs();
System.out.println(songs.get(0).getArtistName());</code>
登入後複製

以上是如何使用 Jackson 將 JSON 字串轉換為 Java 物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板