Я пытаюсь десериализовать json api, который отправляет timestamps как длинные типы. Моя покрышка выглядит следующим образом:GWT Длинный тип API для анализа даты?
public class OverlayTest extends JavaScriptObject {
public final native Long getTimestamp() /*-{ return this.timestamp; }-*/;
}
, который, кажется, работает - когда я использую сорбент для печати на консоли, я получаю длинное значение ок. Я пытаюсь передать, что в экземпляр Date теперь для форматирования:
OverlayTest item = ...;
Date date = new Date(item.getTimestamp());
// or
Date date = new Date(item.getTimestamp().longValue());
, но я получаю исключение TypeError как:
longValue__J is not a function
выход StackTrace немного искажаются, так как выход GWT уже скомпилирован в javascript в моем случае. Я знаю, что GWT каким-то образом подражает Long support, поскольку javascript не может сделать это напрямую - есть ли какое-то обходное решение для этого, или это будет невозможно?
Благодаря
Хорошо спасибо, я вижу - поэтому самый правильный вариант - сделать что-то вроде передачи вниз по метке в строчном формате, таком как ISO 8601? – user3203425
Да, или не идите дальше в будущее, чем 2038, или пропустите длинное число как String и используйте Long.parseLong, чтобы получить его. –