开发手册 欢迎您!
软件开发者资料库

Gson - 对象序列化

Gson对象序列化 - 从简单和简单的步骤学习Gson,从基本到高级概念,包括概述,环境设置,第一个应用程序,Gson类,对象序列化,数据绑定,对象数据绑定,树模型,流API,序列化示例,数组,集合,泛型,序列化内部类,静态嵌套,非静态嵌套类,具有嵌套静态和非静态类的内部类,自定义类型适配器,自定义序列化,反序列化,空对象,版本控制支持,从序列化中排除字段。

让我们将Java对象序列化为Json文件,然后读取该Json文件以获取该对象.在这个例子中,我们创建了一个 Student 类.我们将创建一个 student.json 文件,该文件将具有学生对象的 json 表示.

示例

C:\> GSON_WORKSPACE 中创建名为 GsonTester 的Java类文件.

文件 -  GsonTester.java

import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException;  import com.google.gson.Gson; import com.google.gson.GsonBuilder;  public class GsonTester {    public static void main(String args[]) {          GsonTester tester = new GsonTester();       try {          Student student = new Student();          student.setAge(10);          student.setName("Mahesh");          tester.writeJSON(student);           Student student1 = tester.readJSON();          System.out.println(student1);       }       catch(FileNotFoundException e) {          e.printStackTrace();       }       catch(IOException e) {          e.printStackTrace();      }    }       private void writeJSON(Student student) throws IOException {       GsonBuilder builder = new GsonBuilder();       Gson gson = builder.create();       FileWriter writer = new FileWriter("student.json");         writer.write(gson.toJson(student));         writer.close();    }        private Student readJSON() throws FileNotFoundException {       GsonBuilder builder = new GsonBuilder();       Gson gson = builder.create();       BufferedReader bufferedReader = new BufferedReader(         new FileReader("student.json"));               Student student = gson.fromJson(bufferedReader, Student.class);       return student;    } } 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+ " ]";   }  }

验证结果

使用 javac编译类编译如下 :

C:\ GSON_WORKSPACE> javac GsonTester.java

现在运行GsonTester查看结果 :

C:\ GSON_WORKSPACE> java GsonTester

验证输出

Student [ name: Mahesh, age: 10 ]
sdk.51.la/js-sdk-pro.min.js"> cript>