构造模式,创建一个用于构造Gson对象的类,注册日期序列化适配器,和反序列化适配器,确保一致。代码如下。
package com.ccxe.common.utils;
import java.text.DateFormat;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class UtilGsonBuilder {
public static Gson create(){
GsonBuilder gb=new GsonBuilder();
gb.registerTypeAdapter(java.util.Date.class , new UtilDateSerializer()).setDateFormat(DateFormat.LONG);
gb.registerTypeAdapter(java.util.Date.class , new UtilDateDeserializer()).setDateFormat(DateFormat.LONG);
Gson gson=gb.create();
return gson;
}
}
package com.ccxe.common.utils;
import java.lang.reflect.Type;
import java.util.Date;
import com.google.gson.JsonElement;
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
public class UtilDateSerializer implements JsonSerializer<java.util.Date> {
public JsonElement serialize(Date src, Type typeOfSrc,
JsonSerializationContext context) {
return new JsonPrimitive(src.getTime());
}
}
package com.ccxe.common.utils;
import java.lang.reflect.Type;
import java.util.Date;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonParseException;
public class UtilDateDeserializer implements JsonDeserializer<java.util.Date> {
public Date deserialize(JsonElement json, Type typeOfT,
JsonDeserializationContext context) throws JsonParseException {
return new java.util.Date(json.getAsJsonPrimitive().getAsLong());
}
}
分享到:
相关推荐
- **日期格式化**:Gson可以自动将日期对象转换为指定的字符串格式。 通过深入理解和应用这些特性,开发者可以在实际项目中充分利用Gson的强大功能,实现高效且灵活的数据传输。在“GsonDemo”中,你可以看到这些...
1. 序列化配置:GsonBuilder允许你自定义序列化和反序列化的规则,例如忽略未知字段、设置日期格式等。 ```java Gson gson = new GsonBuilder() .excludeFieldsWithoutExposeAnnotation() // 忽略没有@Expose注解的...
本篇文章将详细介绍如何使用Gson处理Json格式字符串,以及如何在实际项目中应用。 首先,我们需要了解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成...
可以通过自定义`JsonSerializer`和`JsonDeserializer`来处理日期格式。 7. **自定义异常处理** 可以捕获并处理反序列化过程中的错误。 总的来说,Google Gson是一个强大且灵活的库,它简化了Java应用与JSON数据...
这个“Gson转json格式和解析json格式小例子”项目是基于Eclipse的,主要用于演示如何在UTF-8编码环境下使用Gson进行JSON操作。 首先,我们需要理解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,...
Gson是Google提供的一款强大的Java库,用于在Java对象和JSON...此外,还可以通过配置Gson实例来定制序列化和反序列化的行为,比如忽略某些字段、自定义日期格式等。熟练掌握Gson的使用,将极大地提高你的JSON处理能力。
此外,提供的说明文档可以帮助你更好地掌握Gson的使用方法,包括如何配置GsonBuilder,如何处理日期和时间,如何处理嵌套JSON结构,以及如何处理异常情况等。阅读这份文档将使你能够充分利用Gson的强大功能,并在...
3. **类型适配器(Type Adapters)**:Gson允许自定义类型适配器来处理特定类型的序列化和反序列化逻辑,比如日期、自定义类等。 4. **字段忽略**:通过注解`@Expose`可以控制哪些字段被序列化或反序列化。 5. **...
为此,需要自定义日期适配器或者使用`GsonBuilder`配置日期格式。 4. **字段映射** 通过`@SerializedName`注解,可以指定JSON键与Java字段之间的映射关系。 5. **集合转换** Gson支持将JSON数组转换为Java集合,...
Gson基本使用,数据容错处理 适配boolean、Boolean、int、Integer、float、Float、double、Double、long、Long、String类型。 还包括服务器返回的restful规范数据。
7. **Builder模式配置**:Gson通过`GsonBuilder`类提供了丰富的配置选项,如设置日期格式、启用或禁用特定特性,甚至注册自定义类型适配器。 8. **性能优化**:Gson 2.8.x系列版本持续优化了性能,包括更快的序列化...
gson帮助文档 chm格式
5. **日期格式化**:Gson允许开发者自定义日期的格式化方式,以确保JSON中的日期值符合预期的格式。 6. **流处理(Streaming)**:Gson库不仅支持处理整个JSON对象,还提供了流式API,可以逐行读取或写入JSON,这...
在处理日期和时间时,可以自定义日期格式器,使其适应各种日期格式需求。 总的来说,Gson是一个强大且易用的JSON处理库,它的2.8.1版本提供了一套完整的工具,包括核心库、源码和API文档,以满足开发者在各种场景下...
2. Gson默认不处理日期,需要自定义类型适配器进行日期的序列化和反序列化。 3. 默认情况下,Gson会忽略非公开(private)的字段,如果需要序列化这些字段,可以使用`@Expose`注解。 总的来说,Google-Gson 2.2.4是...
- **日期格式化**:通过`GsonBuilder`配置日期的格式化方式。 - **自定义序列化和反序列化**:可以通过实现`JsonSerializer`和`JsonDeserializer`接口来自定义特定类型的转换逻辑。 在提供的文件列表中,`gson-...
这对于处理自定义日期格式、枚举类型或其他复杂数据结构尤其有用。 4. **字段映射**:Gson可以自动映射JSON键到Java类的字段,但如果JSON键与Java字段名不匹配,可以通过注解如`@SerializedName`来自定义映射规则。...
6. 日期时间处理:Gson提供了多种方式来处理日期和时间的序列化和反序列化,包括自定义日期格式。 7. 安全性:Gson库还提供了一种安全的模式,可以防止反序列化时的潜在安全问题,如远程代码执行。 在Android开发...
6. **日期处理**:Gson默认处理日期的方式可能不满足所有需求,但可以使用`GsonBuilder`配置自定义的日期格式。 7. **流式API**:对于大量数据,Gson提供了流式API,可以有效地读写JSON数据,减少内存占用。 在...
5. **日期/时间处理**:Gson提供内置的日期/时间类型适配器,可以方便地将日期对象转换为JSON格式,并能解析回日期对象。 6. **泛型支持**:Gson能够处理带有类型参数的类,即使这些类型信息在运行时可能丢失。 7....