GSON学習ノートの初見GSON

2292 ワード

引用"JSON(JavaScript) Object Notation)は、軽量級のデータ交換形式で、言語とは全く独立したテキスト形式を採用し、Webアプリケーションの開発に理想的なデータ交換フォーマットを提供しています. ”
        以前は携帯端末とサーバーのデータを交互に使ったことがありますが、JSON形式を使いました.サーバーでjsonデータを生成しても、携帯端末でjsonデータを解析しても、いくつかのjsonを使って疲れていますが、どれも煩わしいです.最近はいくつかのプロジェクトからGoogleのgsonを発見しました.比較してみると、gsonは他のjsonライブラリと最大の違いが分かりました.Gsonは、順序化されたエンティティクラスを直接使用して、jsonデータを生成し、対応するエンティティを用いて解析する.
        GSONのAPIでは、Javaオブジェクトを対応するJSONデータに変換するための方法として、toJson()とFroomJson()が提供されており、JSONデータを対応するJavaオブジェクトに変換するための方法が提供されている.
以下は簡単な例です.
//Person  

public class Person {

    private String name;
    private int age;

    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;
    }
    
    @Override
    public String toString()
    {
        return name + ":" +age;
    }
}
その後、GsonオブジェクトのtoJson()を直接使用してjsonデータを生成する.
//  Json   

Gson gson = new Gson();
List<Person> persons = new ArrayList<Person>();
for (int i = 0; i < 10; i++) {
     Person p = new Person();
     p.setName("name" + i);
     p.setAge(i * 5);
     persons.add(p);
}
String str = gson.toJson(persons);
上のコードはGsonオブジェクトに焦点を当てています.toJasonメソッドはオブジェクトをJson文字列に変換します.上のコードのstrオブジェクトの値は以下の通りです.
name:「name」:「name 0」,「age」:0」,「name」:「name 1」,「age」:5},「name」:「name」:「name 2」,「age」:10},「name」:「name 3」,「age」:15},「name」:「name 4」,「naname」,「nananame」,「nananame」,「nanananame」,「name」,「name」,「naname」,「nanananananame」,「nananame」,「name」,「name」,「name」,「nananame」,「naname」,「name」,「nanananananame」,「7”、“age”:35}、{name”:“name 8”、“age”:40}、{name”:“name 9”、“age”:45}
その後、Gsonから提供されたfrom Json()法を用いて、jsonデータを対応するJavaエンティティに解析した.
(1)単一の対象データの場合:「{name]」:「name 0」、「age」:20}を使用します.
Person person = gson.fromJson(str, Person.class);
(2)リストエンティティタイプは、上のように生成されます.
使用:
List<Person> ps = gson.fromJson(str, new TypeToken<List<Person>>(){}.getType());
for(int i = 0; i < ps.size() ; i++)
{
     Person p = ps.get(i);
     System.out.println(p.toString());
}
gson-2.2.jarダウンロード