gson语法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

gson语法
Gson 是一个 Java 库,用于将 Java 对象序列化成 JSON 字符串,或将 JSON 字符串反序列化成 Java 对象。

它可以将 Java 对象与 JSON 对象之间进行转换,以实现数据的存储和传输。

以下是一些 Gson 常用语法:
## 1. 创建 Gson 对象
创建 Gson 对象非常简单,只需调用 new Gson() 方法即可。

```java
Gson gson = new Gson();
```
## 2. 将 Java 对象转换为 JSON 字符串
```java
Person person = new Person("Tom", 20);
String json = gson.toJson(person);
```
toJson() 方法可以将指定对象转换为 JSON 字符串。

如果指定的对象是一个集合,它也可以将集合转换为 JSON 数组。

fromJson() 方法需要两个参数,第一个参数是 JSON 字符串,第二个参数是要转换成的 Java 类型。

如果 JSON 字符串表示的是一个集合,第二个参数可以是一个 Type 对象,表示集合的类型。

## 4. 设置 Gson 的序列化/反序列化行为
Gson 可以通过设置不同的序列化/反序列化行为,来满足不同的需求。

以下是一些常用的设置。

### 4.1. 配置输出格式
Gson 可以设置输出 JSON 字符串的格式,包括缩进、换行等。

使用 GsonBuilder 对象的 setPrettyPrinting() 方法可以开启缩进模式。

### 4.2. 忽略字段
Gson 可以忽略 Java 对象中的某些字段,不对它们进行序列化/反序列化。

使用
@Expose 注解可以标记哪些字段需要进行序列化/反序列化。

```java
public class Person {
@Expose
private String name;
@Expose(serialize = false, deserialize = true)
private int age;
}
```
使用 GsonBuilder 对象的 excludeFieldsWithoutExposeAnnotation() 方法可以忽略未标记 @Expose 注解的字段。

Gson 可以自定义某些类型的序列化/反序列化行为,以满足特殊的需求。

可以通过实现 JsonSerializer 或 JsonDeserializer 接口来实现自定义行为。

@Override
public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
throws JsonParseException {
try {
return dateFormat.parse(json.getAsString());
} catch (ParseException e) {
throw new JsonParseException(e);
}
}
}
Gson gson = new GsonBuilder().registerTypeAdapter(Date.class, new DateAdapter()).create();
```
使用 FileWriter 对象可以将 JSON 字符串写入文件。

以上就是 Gson 的一些常用语法。

通过这些语法,我们可以很方便地操作 JSON 数据。

相关文档
最新文档