JavascriptОбъект для строки gwt - PullRequest
       13

JavascriptОбъект для строки gwt

1 голос
/ 23 сентября 2011

Я стал большим поклонником JavaScriptOverlayTypes.

Допустим, у меня есть следующий объект JSON:

 {
  "product": {
    "name": "Widget",
    "prices": 
      { "minQty": 1, "price": 12.49 }
  }
}

Поэтому я пишу свой класс для продуктов и один для цен. Теперь, если что-то пошло не так при анализе «цены JavascriptObject», я хочу напечатать его следующим образом:

{ "minQty": 1, "price": 12.49 }

но я пока не нашел возможности связать бэк "price JavascriptObject" со строкой.

Есть ли возможность сделать это?

С уважением, Stefan

Ответы [ 2 ]

7 голосов
/ 23 сентября 2011

new JSONObject(priceJso).toString()

Остерегайтесь производительности, так как она создаст объект JSONValue для каждого свойства объекта (и, конечно, рекурсивно), и я не уверен, что компилятор GWT способен много оптимизировать.
В вашем случае, как «путь ошибки», все должно быть в порядке.

1 голос
/ 07 ноября 2016

JsonUtils имеет замечательную функцию:

String jsonString = JsonUtils.stringify(priceJson);

Который имеет собственную реализацию:

public static native String stringify(JavaScriptObject obj) /*-{ JSON.stringify(obj); }-*/;
...