问题: 项目中使用gson进行json的转换,但是在处理对象中的日期类型时,日期格式为“2011-8-31 11:11:11”不是我们期望的“2011-08-31 11:11:11”。
解决过程:
到网上搜索了一下解决方案如下
原代码: private static final Gson GSON = new Gson();
新代码:private static final Gson GSON = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();
改后测试了一下,竟然不起作用,奇怪!接着dubug了一下,发现原来因为使用了hibernate,对象中的日期类型时timestamp类型。上面的设置没起作用。接着又找了一下,还有对应方案如下
首先创建一个类型适配器
- public class TimestampTypeAdapter implements JsonSerializer<Timestamp>, JsonDeserializer<Timestamp>{
- private final DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- public JsonElement serialize(Timestamp ts, Type t, JsonSerializationContext jsc) {
- String dfString = format.format(new Date(ts.getTime()));
- return new JsonPrimitive(dfString);
- }
- public Timestamp deserialize(JsonElement json, Type t, JsonDeserializationContext jsc) throws JsonParseException {
- if (!(json instanceof JsonPrimitive)) {
- throw new JsonParseException("The date should be a string value");
- }
- try {
- Date date = format.parse(json.getAsString());
- return new Timestamp(date.getTime());
- } catch (ParseException e) {
- throw new JsonParseException(e);
- }
- }
- }
应用类型适配器
- GsonBuilder gsonBuilder = new GsonBuilder();
- gsonBuilder.setDateFormat("yyyy-MM-dd hh:mm:ss");
- gsonBuilder.registerTypeAdapter(Timestamp.class,new TimestampTypeAdapter());
- Gson GSON = gsonBuilder.create();
- String json = GSON.toJson(new Timestamp((new Date()).getTime()));
相关推荐
gson-2.3.1.jar json 转换工具
这里进行介绍Gson解析复杂Json和简单Json的数据方式
包含以下java源文件: ...com.google.gson.JsonNull.class com.google.gson.JsonObject.class com.google.gson.JsonParseException.class com.google.gson.JsonParser.class com.google.gson.JsonPrimitive.class ...
1、生成Json数据 2、使用Gson解析Json数据(单个json对象、json数组和json对象内嵌json数组) // 这里有两篇好心人的博文,有详细的讲解 http://www.jb51.net/article/32547.htm ...
利用Google Gson实现JSON字符串和对象之间相互转换,内含源码和jar包
使用gson解析json的一次测试使用
Android Studio下使用Google Gson解析Json数据示例
Video对象变为json格式的字符串 json格式的字符串变为Video对象
JSON、GSON解析json数据,详细介绍了json和gson的使用,解析复杂json数据
通过Gson解析Json文件,相关博文:http://www.cnblogs.com/tianzhijiexian/p/4246497.html
Gson解析JSON数据的入门级源码
Gson是Google的一个开源项目,可以将Java对象转换成JSON,也可能将JSON转换成Java对象。 Gson里最重要的对象有2个Gson 和 GsonBuilder Gson有2个最基本的方法 1) toJson() – 转换java 对象到JSON 2) from...
该源码是用Gson解析一个复杂的json,将json中的数据加载到listview中并且根据json中的url地址加载网络图片到listview中。
gson解析json 1gson-2.0.jar 2log4j-1.2.17.jar 3slf4j-api-1.7.10.jar 4slf4j-log4j12-1.7.10.jar
我的博客中的关于android中gson解析json数据例程,遇到不懂的可以来我的博客中交流。(๑•̀ㅂ•́)و✧
Eclipse下使用Google Gson解析Json数据示例,挺好用的,亲测
在Gson类库有一个Gson类,这个Gson类提供了两个方法:toJson() 和fromJson(),我们主要就是调用这两个方法来分别实现序列化Java对象为JSON字符串和反序列化JSON字符串成Java对象。 通过代码示例来对Gson类的常用方法...
解放你的双手,不用再去一个一个JSONObject去处理解析问题,两行代码搞定一切
包含json.jar以及服务端代码和客户端代码