在進入學習Google Gson庫的細節之前,讓我們先來看看一個使用Gson的應用程式的實際應用。 在這個例子中,建立了一個Student
類。 將建立一個帶有學生詳細資訊的JSON字串,並將其反序列化為學生物件,然後將其序列化為JSON字串。
範例
開啟Eclipse,建立一個Java應用程式專案。然後建立一個Java檔案:GsonFirstApp.java -
package com.yiibai;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class GsonFirstApp {
public static void main(String[] args) {
String jsonString = "{\"name\":\"Maxsu\", \"age\":24}";
GsonBuilder builder = new GsonBuilder();
builder.setPrettyPrinting();
Gson gson = builder.create();
Student student = gson.fromJson(jsonString, Student.class);
System.out.println(student);
jsonString = gson.toJson(student);
System.out.println(jsonString);
}
}
class Student {
private String name;
private int age;
public Student(){}
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;
}
public String toString() {
return "Student [ name: "+name+", age: "+ age+ " ]";
}
}
執行上面範例程式碼,得到以下結果 -
Student [ name: Maxsu, age: 24 ]
{
"name": "Maxsu",
"age": 24
}
要記住的步驟
以下是這裡要考慮的重要步驟。
第1步:使用GsonBuilder
建立Gson物件
建立一個Gson物件。 它是一個可重用的物件。
GsonBuilder builder = new GsonBuilder();
builder.setPrettyPrinting();
Gson gson = builder.create();
第2步: 將JSON反序列化為物件
使用fromJson()
方法從JSON獲取物件。 傳遞Json字串/Json字串的源和物件型別作為引數。
//Object to JSON Conversion
Student student = gson.fromJson(jsonString, Student.class);
第3步: 將物件序列化為JSON
使用toJson()
方法獲取物件的JSON字串表示形式。
//Object to JSON Conversion
jsonString = gson.toJson(student);