Gson数据绑定 Gson对象序列化 Gson对象数据绑定 Data Binding API用于使用属性访问器或使用注释将JSON转换为POJO(Plain Old Java Object)和从POJO(Plain Old Java Object)转换JSON。它有两种类型。 基元数据绑定 - 将JSON转换为Java地图,列表,字符串,数字,布尔值和NULL对象。 对象数据绑定 - 将JSON转换为任何JAVA类型。 Gson为两种类型的数据绑定读取/写入JSON。数据绑定类似于XML的JAXB解析器。 基元数据绑定 基元数据绑定是指将JSON映射到JAVA核心数据类型和内置集合。Gson提供了各种内置适配器,可用于序列化/反序列化原始数据类型。 例 让我们看看原始数据绑定在行动中。在这里,我们将JAVA基本类型直接映射到JSON,反之亦然。 在 C:\ > Gson_WORKSPACE中创建名为 GsonTester 的Java类文件。 文件:GsonTester.java import java.util.Arrays; import com.google.gson.Gson; public class GsonTester { public static void main(String args[]) { Gson gson = new Gson(); String name = "Mahesh Kumar"; long rollNo = 1; boolean verified = false; int[] marks = {100,90,85}; //Serialization System.out.println("{"); System.out.println("name: " + gson.toJson(name) +","); System.out.println("rollNo: " + gson.toJson(rollNo) +","); System.out.println("verified: " + gson.toJson(verified) +","); System.out.println("marks:" + gson.toJson(marks)); System.out.println("}"); //De-serialization name = gson.fromJson("\"Mahesh Kumar\"", String.class); rollNo = gson.fromJson("1", Long.class); verified = gson.fromJson("false", Boolean.class); marks = gson.fromJson("[100,90,85]", int[].class); System.out.println("name: " + name); System.out.println("rollNo: " + rollNo); System.out.println("verified: " +verified); System.out.println("marks:" + Arrays.toString(marks)); } } 验证结果 使用 javac 编译器编译类如下 - C:\GSON_WORKSPACE>javac GsonTester.java 现在运行 GsonTester 查看结果 - C:\GSON_WORKSPACE>java GsonTester 验证输出。 { name: "Mahesh Kumar", rollNo: 1, verified: false, marks:[100,90,85] } name: Mahesh Kumar rollNo: 1 verified: false marks:[100, 90, 85] Gson对象序列化 Gson对象数据绑定