IRONSOFTWAREHOME
JAVA 幫助

Gson 適用於 Java:將物件轉換為 JSON

Curtis Chau
Curtis Chau
Updated: 2026年4月21日

在Java程式設計的領域中,資料序列化和反序列化是應用程式之間傳輸資料的基本過程。 Gson是Google開發的一個程式庫,它被認為是將Java物件轉換為JSON表示及反之的強大工具。

本文旨在提供Gson在Java中的全面指南,探索其功能、實施和最佳實踐。

什麼是Gson?

Gson是由Google開發的Java程式庫,可用於將Java物件轉換為其JSON表示。 它還可用於將整個JSON文件或字串轉換為等效的Java物件。 Google Gson提供簡單易用的API,讓開發人員可以輕鬆地處理JSON資料。

Gson Java(對於開發人員的運作方式):圖1

Gson的主要特點

  1. 簡單的API: Gson提供了一個直接的API,用於將Java物件轉換為JSON及反之,易於整合到Java應用程式中。
  2. 靈活的序列化: Gson提供序列化的自定義選項,允許開發人員排除特定字段或自定義輸出格式。
  3. 反序列化支持: Gson可將JSON字串反序列化為Java物件,簡化解析JSON資料的過程。
  4. 型別安全: Gson在序列化和反序列化期間確保型別安全,減少運行時錯誤的風險。
  5. 與Java集合的整合: Gson無縫整合Java集合,實現複雜資料結構的序列化和反序列化。

開始使用Gson

要在Java專案中使用Google Gson程式庫,您首先需要在專案的相依性中包括Gson程式庫。 如果您使用Maven,您可以將以下相依性新增到您的pom.xml檔案中:

<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.11.0</version>
</dependency>
XML

新增相依性後,您就可以在Java程式碼中開始使用Gson。

基本用法

這裡有一個基本範例,演示如何使用Gson進行序列化和反序列化:

import com.google.gson.Gson;

public class GsonExample {
    public static void main(String[] args) {
        // Initialize Gson object for JSON operations
        Gson gson = new Gson();

        // Create a new MyObject instance and serialize it to JSON
        String json = gson.toJson(new MyObject());
        System.out.println("Serialized JSON: " + json);

        // Deserialize the JSON back into a MyObject instance
        MyObject obj = gson.fromJson(json, MyObject.class);
        System.out.println("Deserialized Object: Name - " + obj.name + ", Version - " + obj.version);
    }

    // Define a simple Java class to be serialized/deserialized
    static class MyObject {
        private String name = "Gson"; // Default object name
        private int version = 2; // Default object version
    }
}
Java

在此範例中,我們建立一個toJson方法)。 然後,我們將JSON字串反序列化為fromJson方法)。

高級用法

Gson提供高級功能,以自定義序列化和反序列化,將任意Java物件轉換為其JSON表示。 其中一些功能包括:

  • 自定義序列化和反序列化: Gson允許您為特定型別或字段定義自定義的序列化器和反序列化器。
  • 排除字段: 您可以使用@Expose註釋字段,以控制它們是否應包含在JSON輸出中。
  • 處理空值: Gson提供處理序列化和反序列化過程中空值的選項。

程式碼範例

這裡有一個範例,演示Gson的高級用法。 在以下範例中,我們通過利用Java類展示Gson的功能,將Java物件轉換為其JSON表示,並將JSON資料解析回等效的Java物件。

import com.google.gson.Gson;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class AdvancedGsonExample {
    public static void main(String[] args) {
        // Define a custom Java class
        class CustomObject {
            @SerializedName("full_name")
            private String name;
            private int age;
            // The 'ignoredAge' field is excluded from JSON serialization
            @Expose(serialize = false)
            private int ignoredAge;

            public CustomObject(String name, int age) {
                this.name = name;
                this.age = age;
                this.ignoredAge = age; // Excluded from JSON output
            }
        }

        // Create an instance of the custom Java class
        CustomObject customObject = new CustomObject("John Doe", 30);

        // Serialize the Java object to its JSON representation
        Gson gson = new Gson();
        String json = gson.toJson(customObject);
        System.out.println("JSON Representation:");
        System.out.println(json);

        // Parse the JSON back to an equivalent Java object
        CustomObject parsedObject = gson.fromJson(json, CustomObject.class);
        System.out.println("\nEquivalent Java Object:");
        System.out.println("Name: " + parsedObject.name);
        System.out.println("Age: " + parsedObject.age);
        // Ignored age field won't be included in JSON output
        System.out.println("Ignored Age: " + parsedObject.ignoredAge);
    }
}
Java

最佳實踐

在Java專案中使用Gson時,請考慮以下最佳實踐:

  1. 使用Gson建構器: 不要直接建立GsonBuilder)來自定義Gson的行為。
  2. 處理例外: 始終處理序列化或反序列化期間可能發生的例外,以確保健壯的錯誤處理。
  3. 版本相容性: 在升級您的Gson相依性時,注意Gson的版本相容性,以避免中斷性更改。

利用Gson輸出生成使用IronPDF在Java中生成PDF

在Java生態系統中,Gson有助於將Java物件轉換為JSON文件,反之亦然。 通過將Gson與IronPDF整合,我們可以利用JSON資料動態生成PDF文件。 Gson允許我們將Java物件序列化為JSON字串,這可以用作使用IronPDF生成PDF的輸入資料。

介紹IronPDF for Java

IronPDF是由Iron Software開發的功能豐富的程式庫,用於在Java中建立、編輯和操作PDF文件。 它提供了一整套API,用於渲染HTML、將URL轉換為PDF,以及從HTML內容生成PDF。

Gson Java(對於開發人員的運作方式):圖2

開始使用

要開始使用Gson和IronPDF,只需將其相應的相依性包括在Java專案中。 在您的pom.xml檔案中新增以下相依性:

<dependencies>
    <!-- Gson -->
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.11.0</version>
    </dependency>
    <!-- IronPDF for Java -->
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>2024.3.1</version>
    </dependency>
    <!-- SLF4J Logger for IronPDF -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>2.0.3</version>
    </dependency>
</dependencies>
XML

整合步驟

這裡是將Java物件轉換為JSON物件,然後將它們轉換為PDF的兩步過程的源程式碼:

  1. 使用Gson序列化資料: 先開始使用Gson將您的Java物件序列化為JSON格式。 這些JSON資料將作為您PDF文件的內容。 確保Gson輸出代表您希望在PDF中包括的結構和內容。

    Gson gson = new Gson(); // Gson instance
    MyDataObject data = ...; // Your data object
    String jsonData = gson.toJson(data);
    Java
  2. 使用IronPDF生成PDF: 當Gson輸出準備好後,使用IronPDF生成PDF文件。 您可以選擇IronPDF提供的各種方法,例如渲染HTML、轉換URL或直接輸入HTML內容。

    // Using Gson output as HTML content
    PdfDocument pdfFromJson = PdfDocument.renderHtmlAsPdf(jsonData);
    pdfFromJson.saveAs(Paths.get("output.pdf"));
    Java

或者,您可以使用Gson輸出動態填充HTML模板,然後使用IronPDF將它們渲染為PDF。

範例整合

考慮一個例子,其中我們有一個簡單的Java物件,表示員工資料,我們使用Gson進行序列化。 然後,我們使用Gson輸出動態填充HTML模板,該模板隨後使用IronPDF渲染為PDF。

// Serialize employee data using Gson
Gson gson = new Gson();
// Create an EmployeeData class with name, position, and salary
EmployeeData employee = new EmployeeData("John Doe", "Software Engineer", 50000);
String jsonData = gson.toJson(employee);

// Populate HTML template with Gson output
String htmlContent = "<html><body><h1>Employee JSON Data</h1><pre>" + jsonData + "</pre></body></html>";

// Generate PDF using IronPDF
PdfDocument pdfFromHtml = PdfDocument.renderHtmlAsPdf(htmlContent);
pdfFromHtml.saveAs(Paths.get("employee_details.pdf"));
Java

輸出

Gson Java(對於開發人員的運作方式):圖3

探索IronPDF的文件和程式碼範例頁面,它作為開發人員的寶貴資源,提供大量可用的程式碼片段和全面的文件,加速與PDF相關的開發任務。

結論

Gson是一個功能強大且用途廣泛的程式庫,用於在Java中進行JSON序列化和反序列化。 它的簡單API、靈活性和高級功能使其成為Java開發人員中的熱門選擇。 通過了解Gson的功能、實施和最佳實踐,您可以利用其功能在Java專案中有效地處理JSON資料。

將Gson與IronPDF整合在Java中,為從JSON資料動態生成PDF文件開啟了無限可能。 通過利用Gson的強大序列化能力和IronPDF的強大PDF生成功能,開發人員可以建立無縫工作流程,根據應用程式的需求生成符合要求的PDF。

體驗IronPDF免費試用的強大PDF生成功能。 輕鬆地將Gson輸出整合到針對您的Java應用程式量身定制的動態PDF中。 現在下載並解鎖IronPDF的便利性和效率!

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

...
閱讀更多

相關文章

Key in blue circle

立即免費取得 30 天試用金鑰。

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

OR
bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
預訂您的免費 即時演示
Booking Badge

全球數百萬工程師的信任

Iron Software的客戶商標
獲取您的無義務諮詢
填寫以下表格或發送電子郵件至sales@ironsoftware.com
您的詳細資訊始終保持機密。
全球數百萬工程師的信任
Iron Software的客戶商標
立即獲取您的30天試用金鑰。
無需信用卡或帳戶建立
C# 用於PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解決方案資源管理器,右鍵點選參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronPdf"
  3. 選擇套件並安裝
C# PDF DLL
下載DLL

版本: 2026.9

或者點擊此處下載Windows安裝程式。

  1. 下載並解壓IronPDF到類似~/Libs的位置,位於您的解決方案目錄中
  2. 在Visual Studio解決方案資源管理器,右鍵點選參考。選擇瀏覽,"IronPdf.dll"

授權從$999起