- Gson 教程
- Gson - 首页
- Gson - 概览
- Gson - 环境设置
- Gson - 第一个应用程序
- Gson - 类
- Gson - 对象序列化
- Gson - 数据绑定
- Gson - 对象数据绑定
- Gson - 树模型
- Gson - 流式处理
- Gson - 序列化示例
- Gson - 序列化内部类
- Gson - 自定义类型适配器
- Gson - Null 对象支持
- Gson - 版本化支持
- 从序列化中排除字段
- Gson 有用资源
- Gson - 快速指南
- Gson - 有用资源
- Gson - 讨论
Gson - 数据绑定
数据绑定 API 用于使用属性访问器或注释将 JSON 转换为 POJO(普通旧 Java 对象)或从 POJO 转换回 JSON。它分为两种类型。
基本类型数据绑定 − 将 JSON 转换为 Java 映射、列表、字符串、数字、布尔值和 NULL 对象,或将其从这些内容转换回 JSON。
对象数据绑定 − 将 JSON 转换为任何 JAVA 类型,或将其从任何 JAVA 类型转换回 JSON。
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]
广告