Java で Gson 関数を使用してシリアル化および逆シリアル化する方法

王林
リリース: 2023-06-26 14:57:17
オリジナル
1625 人が閲覧しました

Java 開発では、シリアル化と逆シリアル化は非常に一般的な操作です。シリアル化とは、オブジェクトをバイト ストリームに変換することで、ネットワーク送信や永続ストレージに非常に役立ちます。逆シリアル化とは、バイト ストリームをさらなる処理のためにオブジェクトに変換することです。一般的に使用される Java シリアル化および逆シリアル化ライブラリとして、Gson も広く使用されています。この記事では、Java でシリアル化と逆シリアル化に Gson 関数を使用する方法を紹介します。

1. Gson を使用するための前提条件

Gson の使用方法を紹介する前に、Gson の基本概念と原則を理解する必要があります。 Gson は、Java オブジェクトを JSON 文字列に、または JSON 文字列を Java オブジェクトに変換するために Google が提供する Java ライブラリです。 Gson はさまざまなデータ型 (カスタム Java クラスを含む) を処理でき、使用と拡張が簡単です。したがって、シリアル化および逆シリアル化操作に Gson を使用するには、次の条件を満たす必要があります。

  1. Java の基本データ型と Java クラスとそのプロパティの定義を理解する;
  2. JSON を理解する文字列の形式と構造;
  3. Java プログラミングの基本的な知識に精通している;
  4. Gson ライブラリ ファイルをダウンロードしてインストールしていること。

2. シリアル化に Gson を使用する

Gson をシリアル化に使用するのは非常に簡単で、必要なのは Java オブジェクトを JSON 文字列に変換することだけです。以下は、Gson を使用したシリアル化の基本手順です。

  1. Gson ライブラリ パッケージをインポートし、Gson オブジェクトをインスタンス化します。
import com.google.gson.Gson;
// 导入Gson库包

Gson gson = new Gson();
// 实例化Gson对象
ログイン後にコピー
ログイン後にコピー
  1. Java クラスを定義します。 Java クラスのインスタンス オブジェクトを作成します:
public class Person {
    private String name;
    private int age;
    // 定义Java类

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    // 定义Java类的构造方法

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    // 添加Java类的getter和setter方法

}

Person person = new Person("Tom", 20);
// 创建Java类的实例对象
ログイン後にコピー
  1. Java オブジェクトを JSON 文字列に変換します:
String jsonStr = gson.toJson(person);
// 将Java对象转换为JSON字符串
ログイン後にコピー

上記のコードでは、インスタンスを変換しますJava クラスの person オブジェクト person を JSON 文字列に変換するには、Gson ライブラリが提供する toJson() メソッドを使用します。このメソッドのパラメータはシリアル化する必要がある Java オブジェクトで、戻り値は JSON 文字列です。

  1. 出力 JSON 文字列:
System.out.println(jsonStr);
// 输出JSON字符串
ログイン後にコピー

JSON 文字列を出力すると、シリアル化された結果がコンソールで確認できます。

3. 逆シリアル化に Gson を使用する

逆シリアル化に Gson を使用する方法も非常に簡単で、JSON 文字列を Java オブジェクトに変換するだけです。以下は、Gson を使用した逆シリアル化の基本的な手順です。

  1. Gson ライブラリ パッケージをインポートし、Gson オブジェクトをインスタンス化します。
import com.google.gson.Gson;
// 导入Gson库包

Gson gson = new Gson();
// 实例化Gson对象
ログイン後にコピー
ログイン後にコピー
  1. Java クラスを定義し、 Java クラスのインスタンス オブジェクトを作成します:
public class Person {
    private String name;
    private int age;
    // 定义Java类

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    // 定义Java类的构造方法

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    // 添加Java类的getter和setter方法

}

String jsonStr = "{"name":"Tom","age":20}";
// 定义JSON字符串
ログイン後にコピー
  1. JSON 文字列を Java オブジェクトに変換します:
Person person = gson.fromJson(jsonStr, Person.class);
// 将JSON字符串转换为Java对象
ログイン後にコピー

上記のコードでは、JSON 文字列を変換しますjsonStr Java クラス Person のインスタンス オブジェクトに変換するには、Gson ライブラリによって提供される fromJson() メソッドを使用します。このメソッドの最初のパラメータは、逆シリアル化する必要がある JSON 文字列で、2 番目のパラメータは、逆シリアル化する必要がある Java クラス。戻り値は Java クラスのインスタンス オブジェクトです。

  1. 出力 Java オブジェクト:
System.out.println(person.getName() + ":" + person.getAge());
// 输出Java对象
ログイン後にコピー

Java オブジェクトを出力すると、逆シリアル化された結果がコンソールで確認できます。

概要:

Gson は、一般的に使用される Java シリアル化および逆シリアル化ライブラリとして、非常に広く使用されています。その主な利点には、使いやすさと拡張、さまざまなデータ型の処理、および出力が含まれます。フォーマット、仕様、効率的なパフォーマンスなど。 Java でシリアル化および逆シリアル化操作を実行する必要がある場合、処理に Gson ライブラリを使用することを選択できます。シリアル化および逆シリアル化に Gson ライブラリを使用する場合は、特定のルールに従う必要があります。まず、Gson ライブラリ パッケージをインポートして Gson オブジェクトをインスタンス化する必要があります。次に、シリアル化および逆シリアル化する必要がある Java クラスを定義し、Java オブジェクトをインスタンス化します。 ; 最後に、Gson ライブラリによって提供される toJson() メソッドと fromJson() メソッドを使用して、Java オブジェクトを JSON 文字列に変換するか、JSON 文字列を Java オブジェクトに変換します。

以上がJava で Gson 関数を使用してシリアル化および逆シリアル化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート