Gson数据绑定
精华
小牛编辑
122浏览
2023-03-14
数据绑定API用于使用属性访问器或使用注释将JSON转换为POJO(普通旧Java对象)以及从POJO(普通旧Java对象)转换。 它有两种类型,分别如下所示 -
- 原始数据绑定 - 将JSON转换为Java地图,列表,字符串,数字,布尔值和
NULL
对象。 - 对象数据绑定 - 从任何JAVA类型转换JSON。
Gson为这两种类型的数据绑定读/写JSON。 数据绑定类似于XML的JAXB解析器。
原始数据绑定
基元数据绑定是指将JSON映射到JAVA核心数据类型和内置集合。 Gson提供了各种内置适配器,可用于序列化/反序列化原始数据类型。
示例
让我们看看原始数据绑定的行动。 这里将JAVA基本类型直接映射到JSON,反之亦然。参考以下文件代码: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 = "Maxsu";
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("\"Maxsu\"", 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));
}
}
执行上面示例代码,得到以下结果 -
{
name: "Maxsu",
rollNo: 1,
verified: false,
marks:[100,90,85]
}
name: Maxsu
rollNo: 1
verified: false
marks:[100, 90, 85]