Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 62.7MB ·虚拟内存 1299.8MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
Data Binding API用于使用属性访问器或使用注释将 JSON 转换为 POJO(Plain Old Java Object)和从 POJO(Plain Old Java Object)转换 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]
对象数据绑定是指将 JSON 映射到任何 JAVA 对象。//Create a Gson instanceGson gson = new Gson(); //map Student object to JSON c ...