首頁 >Java >java教程 >Jackson Library 如何將 Java 物件轉換為 JSON?

Jackson Library 如何將 Java 物件轉換為 JSON?

Patricia Arquette
Patricia Arquette原創
2024-12-03 21:12:15509瀏覽

How Can Jackson Library Convert Java Objects into JSON?

使用Jackson 將Java 對象轉換為JSON

Java 類和JSON 輸出

提供的Java 類別ValueData 和ValueItems 滿足所需JSON 輸出的要求。 ValueData 被定義為具有 ValueItems 物件的列表,其中依序包含預期的屬性:timestamp、feature、ean 和 data。

Jackson Configuration

轉換使用 Jackson 將 Java 物件轉換為 JSON,需要執行以下步驟:

  1. 匯入 Jackson ObjectMapper 和ObjectWriter類別:
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectWriter;
  1. 建立 ObjectMapper 的實例:
ObjectMapper objectMapper = new ObjectMapper();
  1. 建立 ObjectWriter 的實例以自訂 JSON輸出:
ObjectWriter objectWriter = objectMapper.writer().withDefaultPrettyPrinter();

JSON轉換

最後,您可以使用writeValueAsString 方法將ValueData 物件轉換為JSON,如下所示:

ValueData valueData = new ValueData(); // Initialize your ValueData object
String json = objectWriter.writeValueAsString(valueData);

產生的json 變數將包含ValueData 物件的JSON表示形式,符合所需的輸出格式。

範例程式碼

以下是包含轉換步驟的完整範例程式碼:

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectWriter;

public class Main {

    public static void main(String[] args) {
        // Initialize Java objects
        ValueData valueData = new ValueData();
        valueData.setInformation(List.of(
            new ValueItems("xxxx", "xxxx", 1234, "xxxx"),
            new ValueItems("yyy", "yyy", 12345, "yyy")
        ));

        // Create Jackson ObjectMapper and ObjectWriter
        ObjectMapper objectMapper = new ObjectMapper();
        ObjectWriter objectWriter = objectMapper.writer().withDefaultPrettyPrinter();

        // Convert Java object to JSON
        String json = objectWriter.writeValueAsString(valueData);

        // Print the JSON output
        System.out.println(json);
    }
}

此程式碼示範如何使用Jackson 將Java 物件轉換為JSON,與您所需的JSON 輸出保持一致結構。

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

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