Конвертировать JavaScript-оверлеи обратно в JSON? - PullRequest
0 голосов
/ 04 марта 2009

У меня проблемы с преобразованием объекта из JSON в объект наложения JavaScript и обратно. У меня сейчас в классе следующее:

public class Aff extends JavaScriptObject {
  protected Aff() {};
  public static native Aff fromJSONString(String jsonString) /*-{
     return eval('(' + jsonString + ')');
  }-*/;
  public final native String toJSON() /*-{
    return this.toString();
  }-*/;
  // followed by get/seters and a bunch of TODO.
}

Я могу создавать объекты и работать с ними, но obj.toJSON() возвращает [object Object]. Я не могу найти способ обойти это без ручного преобразования обратно в JSON.

1 Ответ

0 голосов
/ 05 марта 2009

this.toString ();

на самом деле не производит код JSON. Он печатает строковое представление объекта. Вам понадобится либо собственный код для записи json, либо лучше использовать библиотеку.

Два способа использования библиотек - использовать встроенные в gwt библиотеки json. Не так хорошо, но не нужно писать код JSNI. Или добавьте ресурс скрипта в свой модуль xml для библиотеки, такой как javascript json library здесь , и используйте ее в jsni. Или найдите другую библиотеку, там буквально сотни.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...