首頁  >  文章  >  Java  >  如何使用 Jackson 將 JSON 字串轉換為 Java 物件?

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

Linda Hamilton
Linda Hamilton原創
2024-11-05 19:40:02792瀏覽

How to Convert JSON Strings to Java Objects Using Jackson?

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

簡介

本指南利用流行的Jackson 解決了將JSON 字串轉換為Java對象的挑戰圖書館。我們將探索如何使用 Jackson 來映射 JSON 資料結構,包括列表和鍵值對。

使用Jackson 解析JSON 字串

將JSON 字串解析為Java 對象,您可以使用Jackson 的ObjectMapper:

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

此方法會將JSON 字串轉換為通用Map,其中鍵是字串,值是物件。

為了更方便地處理 JSON 數據,您可以使用 Jackson 的 JsonNode:

<code class="java">JsonNode rootNode = mapper.readTree(jsonString);</code>

JsonNode 提供 JSON 數據的分層表示。

自訂Java 類別

您可以定義自訂的Java 類,而不是使用通用映射鏡像JSON 資料結構的Java 類別:

<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;
}

Library lib = mapper.readValue(jsonString, Library.class);</code>

此方法可以直接存取JSON 資料中的特定欄位。

存取資料

一旦您將JSON 字串解析為Java 物件後,您可以如下存取資料:

  • 對於通用地圖方法:

    • map.get("libraryname ") 擷取「libraryname」鍵的值。
    • map.get("mymusic") 擷取代表每首歌曲的物件清單。
  • 對於自訂 Java 類別方法:

    • lib.name 擷取函式庫名稱。
    • lib.songs 檢索 Song 物件清單。
    • lib.songs。 get(0).artistName 檢索第一首歌曲的藝人名稱。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn