使用 google gson 转换Timestamp或Date类型为JS

系统 1622 0

gson lib 包为1.4版本.

创建类型适配类:

Timestamp类型适配类代码 复制代码
  1. import java.lang.reflect.Type;   
  2. import java.sql.Timestamp;   
  3. import java.text.DateFormat;   
  4. import java.text.ParseException;   
  5. import java.text.SimpleDateFormat;   
  6. import java.util.Date;   
  7.   
  8. import com.google.gson.JsonDeserializationContext;   
  9. import com.google.gson.JsonDeserializer;   
  10. import com.google.gson.JsonElement;   
  11. import com.google.gson.JsonParseException;   
  12. import com.google.gson.JsonPrimitive;   
  13. import com.google.gson.JsonSerializationContext;   
  14. import com.google.gson.JsonSerializer;   
  15.   
  16. public class TimestampTypeAdapter implements JsonSerializer<Timestamp>, JsonDeserializer<Timestamp>{   
  17.     private final DateFormat format = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );   
  18.     public JsonElement serialize(Timestamp src, Type arg1, JsonSerializationContext arg2) {   
  19.         String dateFormatAsString = format.format(new Date(src.getTime()));   
  20.         return new JsonPrimitive(dateFormatAsString);   
  21.     }   
  22.   
  23.     public Timestamp deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {   
  24.         if (!(json instanceof JsonPrimitive)) {   
  25.             throw new JsonParseException( "The date should be a string value" );   
  26.         }   
  27.   
  28.         try {   
  29.             Date date = format.parse(json.getAsString());   
  30.             return new Timestamp(date.getTime());   
  31.         } catch (ParseException e) {   
  32.             throw new JsonParseException(e);   
  33.         }   
  34.     }   
  35.   
  36. }  

  类型适配类

    应用类型适配器 写道

Gson gson = new GsonBuilder().registerTypeAdapter(Timestamp.class,new TimestampTypeAdapter()).setDateFormat("yyyy-MM-dd HH:mm:ss").create();
String jsonString = gson.toJson(resourceInfo,ResourceGeoInfo.class);

  
    输出结果

{"positionTime":"2010-01-07 10:57:27"}

 

Date 类型的时间转换第二种方式;

 

Java代码 复制代码
  1. Gson gson =  new  GsonBuilder().setDateFormat( "yyyy-MM-dd HH:mm:ss" ).create();   
  2. String jsonString = gson.toJson( new  Date(System.currentTimeMillis()),Date. class );   
  3. System.out.println(jsonString);  
        Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();
String jsonString = gson.toJson(new Date(System.currentTimeMillis()),Date.class);
System.out.println(jsonString);
      

 

输出结果:

 

"2010-01-07 12:24:34"

 

 

使用 google gson 转换Timestamp或Date类型为JSON字符串.


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论