首頁 > Java > java教程 > 如何使用 Jackson 將 JSON 字串轉換為 Java 物件?

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

Linda Hamilton
發布: 2024-11-05 19:40:02
原創
892 人瀏覽過

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中文網其他相關文章!

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