0
我想轉換(解碼?)一個mongoDB BasicDBObject(稱爲'文檔')到一個POJO,,但Gson絆倒expiryTime,這是UTC日期(2013-10-08T10:00:00.000Z)。UTC日期到長轉換:Gson - 預計很長,但是BEGIN_OBJECT
這裏是斯卡拉命令:
gson.fromJson(document.toString(), classOf[MyObj])
,我讀了註冊TypeAdapter可能是有用的,這將是這個樣子:
val gson: Gson = new GsonBuilder().registerTypeAdapter(classOf[org.joda.time.DateTime], new DateTimeTypeConverter).serializeNulls.create
如何註冊的任何想法TypeAdapter爲這個日期問題?
錯誤:
Expected a long but was BEGIN_OBJECT
的POJO:
public class MyObj {
private IdObj id;
private String uid;
private Long expiryTime;
}
public class IdObj {
private String guid;
private Long timestamp;
}
JSON:
{
"_id":{
"guid":"guid",
"timestamp":1381226400000
},
"uid":"uid",
"expiryTime":{
"$date":"2013-10-08T10:00:00.000Z"
}
}
我使用Scala的2.10。
'expiryTime'是一個'長'。 –
是的,這是POJO中的一個Long,但它是Json中的UTC。我可以使用Gson將UTC轉換爲長整型嗎? – satoukum
你只需要一個特定的'TypeAdapter'來指定該字段。這沒有什麼意義。您應該爲'MyObjt'使用'TypeAdapter'或使用具有每個字段轉換器的JSON解析庫。 –