Я использую Gson для сериализации/десериализации моих pojos и в настоящее время ищут чистый способ рассказать Gson о синтаксическом анализе/выводе атрибутов даты как unix-timestamps. Вот моя попытка:Gson dateformat для разбора/вывода unix-timestamps
Gson gson = new GsonBuilder().setDateFormat("U").create();
Comming от PHP, где "U" является DateFormat используется для анализа даты/вывода в UNIX-метки времени, при запуске моей попытке кода, я получаю эту RuntimeException:
Неизвестный шаблон символ «U»
Я предполагаю, что Gson использует SimpleDateFormat под капотом, который не определяет букву «U».
Я могу написать DateTypeAdapter
и зарегистрировать его в GsonBuilder
, но я ищу более чистый способ достижения этого. Простое изменение DateFormat
было бы замечательно.
Привет, ваш ответ разрешает ваш вопрос на https://github.com/google/gson/issues/987, так как у ypu есть собственное решение, которое реализовано по-настоящему Gson (не обходным путем, это по дизайну). :) Не могли бы вы закрыть вопрос? Благодаря! –
@LyubomyrShaydariv Thanx для напоминания мне. Ваш запрос выполнен. (И вы правы, сэр, именно так разработан Gson) – AnixPasBesoin
Ах, и еще одно примечание: 'JsonReader.toString' возвращает человекочитаемое текущее состояние' JsonReader', например 'JsonReader 'в строке 1 column 1 path $'. Вероятно, есть опечатка, а 'in.nextString()' действительно делает то, что вам нужно в вашем коде. Или еще короче: 'new Date (in.nextLong()/1000)'. –