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解析库。 –