Правильный формат JSON для разбора даты - PullRequest
0 голосов
/ 24 октября 2018

Каждый объект (Serializable & PropertyBusinessObject) в нашем приложении имеет поля dateCreate и dateUpdate, которые имеют тип Date.Итак, я установил два Properties<Date, AbstractEntity> и добавил их в PropertyIndex.

Чтобы заполнить сущности, мы используем getAsProperties из RequestBuilder, и все остальные свойства заполнены правильно, но два свойства Date имеют значение String, которое является неразобранным значением JSON дляэто поле.

Должен ли JSON иметь определенный формат для анализа в качестве даты?

На данный момент я поместил dd-MM-yyyy'T'hh:mm:ss.SSS в качестве шаблона для любого Date на стороне сервера, потому что это формат выводится, когда я вызываю toJson из PropertyIndex, но это не такработа.

РЕДАКТИРОВАТЬ: я изменил формат на yyyy-MM-dd'T'HH:mm:ss.SSS и понял, что пропущенные кавычки были из-за Map.toString, которую я сделал для печати значений.Я получил Json с помощью вызова RequestBuilder.getAsString() и получил этот 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 сущности по-прежнему является строкой, а не датой.

1 Ответ

0 голосов
/ 25 октября 2018

Существует «неофициальный» стандартный формат даты для JSON: yyyy-MM-dd'T'HH:mm:ss.SSS, который мы неявно используем при синтаксическом анализе JSON, если целевым значением является дата.Если вы используете этот формат для генерации / анализа даты на сервере, она должна «просто работать».

...