У меня есть следующая строка JSON:
{"locale":"de","strings":[{"key":"navigation.search","value":"Suchen"}]}
Я пытаюсь разобрать это так:
// parse the response text into JSON
String json = response.getText();
Window.alert(json);
JSONValue jsonValue = JSONParser.parseLenient("{\"locale\":\"de\",\"strings\":[{\"key\":\"navigation.search\",\"value\":\"Suchen\"}]}");
Window.alert(jsonValue.isObject().get("locale").toString());
JSONArray jsonArray = jsonValue.isObject().get("strings").isArray();
for (int i = 0; i < jsonArray.size(); i++) {
Window.alert(jsonArray.get(i).isObject().get("key").isString() + " -> " + jsonArray.get(i).isObject().get("value").isString());
}
Почему в Window.alert () есть кавычки, я думал, кавычки необходимы для создания JSON.
Кстати, JSON создается с помощью Java-классов json.org:
PrintWriter w = new PrintWriter(System.err);
new JSONWriter(w)
.object()
.key("locale").value("de").key("strings").array().object().key("key").value("navigation.search").key("value").value("Suchen").endObject().endArray()
.endObject();
w.flush();