Json Parsing в приложении для Android - PullRequest
1 голос
/ 29 сентября 2010

После завершения синтаксического анализа XML SAX сейчас я работаю над анализом JSON в своем приложении. Здесь я предоставляю вам Json

Response : {"menu": {
              "id": "file",
              "value": "File",
              "popup": {
                "menuitem": [
                  {"value": "New", "onclick": "CreateNewDoc()"},
                  {"value": "Open", "onclick": "OpenDoc()"},
                  {"value": "Close", "onclick": "CloseDoc()"}
                ]
              }
            }}

Теперь я привел один пример Json Parsing, в котором они создали объект jString, и у меня возникли сомнения в этой конкретной строке, как показано ниже:

private String jString = "{\"menu\":    {\"id\": \"file\", \"value\": \"File\", \"

Может кто-нибудь дать мне понять, пожалуйста. Ссылка полного примера выглядит так:

http://www.androidcompetencycenter.com/2009/10/json-parsing-in-android/

Ответы [ 2 ]

2 голосов
/ 29 сентября 2010

Вы можете получить объект JSON из ответа, как этот (я полагаю, вы знаете, как позаботиться о ответе):

String[] file = null;

/* Make a JSON object from your response, yourResponse is a String containing
the whole response */
JSONObject jsonObject = new JSONObject(yourResponse);

/* Your "menu": array from your response */
JSONArray infoArray = jsonObject.getJSONArray("menu"); 

/* If the array contains multiple items, loop it
through the infoArray's size */
for (int i = 0; i < infoArray.length(); i++) {  
        try {    
          //Get the value inside "id"
          file[i] = infoArray.getJSONObject(i).optString("id");                  
            } catch (JSONException e) {
            }       
}
1 голос
/ 29 сентября 2010
private String jString = "{\"menu\":    {\"id\": \"file\", \"value\": \"File\", \"

Они просто создают строку, которая будет выглядеть следующим образом:

{"menu":    {"id": "file", "value": "File", .. etc.

Они используют \, потому что символ " должен быть экранирован.

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