gson介绍

本文介绍Google的Gson库,一种用于Java对象与JSON格式互相转换的工具。文章讲解了Gson的基本用法,包括如何使用toJSON()和fromJSON()方法进行序列化和反序列化操作,并展示了如何通过注解灵活配置序列化字段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java json对象的处理,目前有好一些类库,比较著名的有Jackson,Fastjson等。

这里介绍一下google封装的类库gson。

gson和其他现有java json类库最大的不同时gson需要序列化得实体类不需要

使用annotation来标识需要序列化得字段,同时gson又可以通过使用annotation来灵活配置需要序列化的字段。

1)toJason()方法将对象转换成Json字符串

2)fromJson()方法来实现从Json相关对象到java实体的方法。

如:

Person person = gson.fromJson(str, Person.class);
List<Person> ps = gson.fromJson(str, new TypeToken<List<Person>>(){}.getType());
其中TypeToken,它是gson提供的数据类型转换器,可以支持各种数据集合类型转换。

通过使用annotation来灵活配置需要序列化的字段的示例如下,不用太多解释了。

public class VersionedClass {
@Since(1.1) private final String newerField;
@Since(1.0)private final String newField;
private final String field;

public VersionedClass() {
this.newerField = "newer";
this.newField = "new";
this.field = "old";
}
}

VersionedClass versionedObject = new VersionedClass();
Gson gson = new GsonBuilder().setVersion(1.0).create();

String jsonOutput = gson.toJson(someObject);
System.out.println(jsonOutput);
System.out.println();

gson = new Gson();
jsonOutput = gson.toJson(someObject);
System.out.println(jsonOutput);


======== OUTPUT ========
{"newField":"new","field":"old"}

{"newerField":"newer","newField":"new","field":"old"}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值