2011-05-11 2 views
1

나는 다음과 같은 JSON 문자열이 제거되지 않습니다 왜? 내가 이런 식으로 해석하려고JSONParser은 "키와 값에서

{"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은 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(); 

답변

4

키가 stringValue 방법을 사용하는 것으로 생각합니다. 시도 :...

jsonArray.get (I) .isObject() 수 ("값") isString() stringValue()를