Я использую Gson для сериализации моего javabean в JSON, и у меня возникают проблемы с полями типа даты.Как создать поля даты с помощью Gson
Если я создаю GsonBuilder без переопределения
Gson gson = new GsonBuilder().create();
он генерирует поле даты в формате JSON в формате "Jan 6, 2017 12:00:00 AM", но с типом данных String.
Если установить строитель на формат даты
Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
Он генерирует поле в нужном формате, но остается String.
С типом String я не могу выполнить запрос на основе периодов (например, this). Ручное изменение одной из записей, я был в состоянии получить ответ:
before:
{"_id" : ObjectId("586fa17851ba381278b059ac"),
"start" : "2017-01-06"),
...
}
after:
{"_id" : ObjectId("586fa17851ba381278b059ac"),
"start" : ISODate("2017-01-06T12:00:00.000Z"),
...
}
Как я могу обеспечить генерацию поля Date с помощью Gson?
Я не думаю, что вы можете создать MongoDB несовместим с JSON Gson. Не могли бы вы использовать BSON? http://mongodb.github.io/mongo-java-driver/3.2/bson/extended-json/#mongodb-extended-json – Veeram
Спасибо за ваш комментарий, я проверю, сколько мне придется изменить, чтобы принять BSON , Если вы предпочитаете, введите свой комментарий в качестве ответа. –