正确的json格式以解析日期

时间:2018-10-24 15:55:40

标签: codenameone

我们应用中的每个实体(SerializablePropertyBusinessObject)都有一个Date类型的dateCreate和dateUpdate字段。 因此,我设置了两个Properties<Date, AbstractEntity>并将它们添加到PropertyIndex中。

要填充实体,我们使用getAsProperties中的RequestBuilder,并且正确填充了每个其他属性,但是两个Date属性的String值是此字段的未解析的JSON值。

JSON是否必须具有要解析为Date的特定格式?

现在,我已经将dd-MM-yyyy'T'hh:mm:ss.SSS作为服务器端任何Date的模式,因为它是我从toJson调用PropertyIndex时输出的格式,但这不起作用。

编辑:我已经将格式更改为yyyy-MM-dd'T'HH:mm:ss.SSS并认为缺少引号是因为我打印了Map.toString。 我已经通过RequestBuilder.getAsString()调用检索了Json并得到了这个json:

{
    "dateCreate": "2018-10-02T22:00:00.000",
    "dateUpdate": null,
    "id": 209,
    "source": "Lorem ipsum",
    "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum urna velit, pharetra id finibus eget, molestie id tortor.",
    "version": 1
}

Json格式正确,但是实体的dateCreate仍然是String而不是Date。

1 个答案:

答案 0 :(得分:1)

对于JSON:yyyy-MM-dd'T'HH:mm:ss.SSS有一种“非官方”标准日期格式,如果目标值为日期,则在解析JSON时会隐式使用。如果您使用这种格式在服务器上生成/解析日期,则它应该“正常工作”。