4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ZOZOAdvent Calendar 2024

Day 7

GSONについて

Last updated at Posted at 2024-12-06

GSONはJavaオブジェクトとJSONを変換するためのJavaライブラリです。
Googleによって作られたためGSONという名前だそうです。

JavaとJSONを変換するOSSライブラリはいくつかありますが、GSONの特徴はクラスにアノテーションをしなくても良い点にあるそうです。
そのため、自分ではソースコードに手を入れられないようなクラスに対してもJSON変換ができます。
またジェネリクスに対応していないライブラリが多いなかで、GSONはジェネリクスをフルサポートしているようです。

GSONを使ってたサンプルコードを紹介します。

シリアライゼーション(Java→JSON)

以下にようなUserSimpleクラスとそのインスタンスを考えます。

public class UserSimple {
    String name;
    String email;
    int age;
    boolean isDeveloper;
}

UserSimple userObject = new UserSimple(
    "Norman",
    "norman@futurestud.io",
    26,
    true
);

このインスタンスをJSONに変換するためにはこの様にGSONを使います。

Gson gson = new Gson();

String userJson = gson.toJson(userObject);

以下のJSON文字列が得られます。

{
  "age": 26,
  "email": "norman@futurestud.io",
  "isDeveloper": true,
  "name": "Norman"
}

デシリアライゼーション(JSON→Java)

逆にJSNO文字列をJavaオブジェクトにするためにこのようにします。

String userJson = "{'age':26,'email':'norman@futurestud.io','isDeveloper':true,'name':'Norman'}";

Gson gson = new Gson();
UserSimple userObject = gson.fromJson(userJson, UserSimple.class);

アノテーションが不要なため、シリアライゼーションもデシリアライゼーションもとてもシンプルな操作でできることが分かりました。

出展:
https://github.com/google/gson

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?