JovBuilder от Groovy, похоже, не превращает временные интервалы в датах в строку JSON вообще. Точнее, он всегда использует GMT. Например, следующий код должен печатать дату как полночь 2001-02-03, GMT +2. Но вместо этого он печатает 2001-02-02T22: 00: 00 + 0000, то есть в ту же дату минус 2 часа, как если бы он находился в GMT.Как сохранить часовые пояса при использовании Groovy's JsonBuilder?
Есть ли ошибка в JsonBuilder или это «известная функция», которую я должен учитывать при использовании API?
import groovy.json.JsonBuilder
def c = new GregorianCalendar(new Locale("fi", "FI")) // GMT+2, no DST by default
c.set(2001, 1, 3, 0, 0) // 2001-02-03T00:00:xx, xx is current seconds. Not set as irrelevant
println (new JsonBuilder([ date: c.getTime() ])).toString()
Спасибо за подтверждение того, что моя логика правильна и есть на самом деле есть что-то с JsonBuilder. Вместо пользовательского форматирования я решил изменить базовый JSON lib, спасибо за идею. Btw, 'Jacson' терпит неудачу по той же проблеме, но' Jacson-jr' отлично работает. – kaskelotti