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

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

Patricia Arquette
發布: 2024-12-03 21:12:15
原創
519 人瀏覽過

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

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