Безопасный разбор JSON в GWT? - PullRequest
4 голосов
/ 31 мая 2010

Как мы можем выполнить безопасный анализ JSON с GWT? Похоже, что анализатор json, который предлагает GWT, использует eval () - есть ли другая опция, которая использует нативные реализации, когда они доступны?

Спасибо

------------- Редактировать ----------------------------

Хорошо, я получил сценарий отсюда:

http://code.google.com/p/json-sans-eval/

, который, как предполагается, не использует eval (поэтому должен быть безопасен, надеюсь!), И используйте его так:

private native JavaScriptObject nativeParseUntrustedJson(String jsonString) /*-{ 
    return $wnd.jsonParse(jsonString);    
}-*/; 

это работает, это выглядит нормально?

Спасибо !!

1 Ответ

3 голосов
/ 31 мая 2010

Я не знаю ни одного встроенного способа GWT для анализа JSON без возврата к eval, но вы можете попробовать использовать ваш любимый анализатор через JSNI, а затем вернуть JavaScriptObject для передачи в конструктор JSONObject, например,

native JavaScriptObject native_parse(String json_data) /*-{
  return $wnd.JSON.parse(json_data);    
}-*/;

, где JSON.parse может ссылаться на https://github.com/douglascrockford/JSON-js/blob/master/json2.js,, например. через следующий HTML-код:

<script src="json2.js"></script>

Затем попробуйте создать JSONObject с помощью:

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