【发布时间】:2014-10-16 18:52:15
【问题描述】:
我从服务器得到这个字符串:
[
{
"title":"spoil the ones u love today",
"startDateTime":"2014-08-10T20:10:36.7158Z"
},
{
"title":"home made patisserie",
"startDateTime":"2014-08-10T20:08:45.0218Z"
}
]
我尝试将它解析为一个对象
public class Offer implements Serializable {
public String title;
public Date startDateTime;
}
Type collectionType = new TypeToken<ArrayList<Offer>>() {}.getType();
mOffersList.addAll((Collection<? extends Offer>) gson.fromJson(result, collectionType));
但是当我将“startDate”定义为日期时
我从 gson 取回的集合是空的
当我将“startDate”定义为字符串时
集合已正确填充。
我想更改它的日期格式。这就是为什么我更喜欢将它保存为 Date 对象。
我试过了
Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ").create;
然而 Gson 无法将服务器的字符串解析成
Date startDateTime。 mOffersList 没有添加任何内容,并且它保持为空。
我做错了什么?
【问题讨论】:
-
你有没有试过最后用
'Z'代替Z?
标签: java json date gson simpledateformat