GWT оверлейные типы, преобразование в JSON - PullRequest
8 голосов
/ 03 ноября 2008

Как лучше всего преобразовать тип оверлея JavaScriptObject в строку JSON в GWT?

У меня сейчас есть

public final String toJSON() {      
    return new JSONObject(this).toString();
}

Что, кажется, работает нормально. Я хотел бы знать, есть ли лучшие подходы.

Ответы [ 2 ]

4 голосов
/ 01 декабря 2008

На самом деле я никогда не пробовал это (пока использовал только JSON, никогда не нуждался в его создании). Похоже, это встроенная функция браузера / JavaScript.

Вы могли бы записать это как:

public native String toJSON() /*-{
  return this.toString();
}-*/;

По сути, они просто делают одно и то же и, вероятно, приводят к одинаковому выводу JavaScript. Оптимизирующий компилятор действительно потрясающий.

2 голосов
/ 18 августа 2011

у нас есть такой метод JSNI, но мы используем JSON-библиотеку Дугласа Крокфорда (на случай, если браузер не предоставляет его изначально):

https://github.com/douglascrockford/JSON-js

public native String stringify() /*-{
  return JSON.stringify();
}-*/;

Что приятно, что stringify может принимать параметры, чтобы красиво печатать вывод с указанным отступом ... среди прочего

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