gson lib 包為1.4版本.
創建類型適配類:
- import?java.lang.reflect.Type; ??
- import?java.sql.Timestamp; ??
- import?java.text.DateFormat; ??
- import?java.text.ParseException; ??
- import?java.text.SimpleDateFormat; ??
- import?java.util.Date; ??
- ??
- import?com.google.gson.JsonDeserializationContext; ??
- import?com.google.gson.JsonDeserializer; ??
- import?com.google.gson.JsonElement; ??
- import?com.google.gson.JsonParseException; ??
- import?com.google.gson.JsonPrimitive; ??
- import?com.google.gson.JsonSerializationContext; ??
- import?com.google.gson.JsonSerializer; ??
- ??
- public?class?TimestampTypeAdapter?implements?JsonSerializer<Timestamp>,?JsonDeserializer<Timestamp>{ ??
- ????private?final?DateFormat?format?=?new?SimpleDateFormat( "yyyy-MM-dd?HH:mm:ss" ); ??
- ????public?JsonElement?serialize(Timestamp?src,?Type?arg1,?JsonSerializationContext?arg2)?{ ??
- ????????String?dateFormatAsString?=?format.format(new?Date(src.getTime())); ??
- ????????return?new?JsonPrimitive(dateFormatAsString); ??
- ????} ??
- ??
- ????public?Timestamp?deserialize(JsonElement?json,?Type?typeOfT,?JsonDeserializationContext?context)?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); ??
- ????????} ??
- ????} ??
- ??
- }??
??類型適配類
??? 應用類型適配器 寫道
Gson gson = new GsonBuilder().registerTypeAdapter(Timestamp.class,new TimestampTypeAdapter()).setDateFormat("yyyy-MM-dd HH:mm:ss").create();
String jsonString = gson.toJson(resourceInfo,ResourceGeoInfo.class);
String jsonString = gson.toJson(resourceInfo,ResourceGeoInfo.class);
??
???
輸出結果
{"positionTime":"2010-01-07 10:57:27"}
?
Date 類型的時間轉換第二種方式;
?
- 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);??
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"
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
