Как разобрать этот тип массива JSON в Android?

Я знаю, как анализировать массив JSON в одном массиве, но как передать несколько массивов JSON и установить для него значение, требующее введите здесь описание изображения

 {"scode":"200","all_menu":[{"app_menu_id":"67","app_menu_name":"Demograpics","all_sub_menu":[{"app_menu_id":"67","app_sub_menu_id":"47","app_sub_menu_name":"\u0a97\u0ac1\u0a9c\u0ab0\u0abe\u0aa4\u0ac0","app_sub_menu_image":"http:\/\/app.hindipublic.com\/app_allwhatsupstatus\/menu\/medium\/8451504072003.jpg"}],"sub_menu":"true"},{"app_menu_id":"68","app_menu_name":"Lyrics","all_sub_menu":[{"app_menu_id":"68","app_sub_menu_id":"48","app_sub_menu_name":"Music","app_sub_menu_image":"http:\/\/app.hindipublic.com\/app_allwhatsupstatus\/menu\/medium\/4681504072092.jpg"}],"sub_menu":"true"},{"app_menu_id":"69","app_menu_name":"Adult","all_sub_menu":[{"app_menu_id":"69","app_sub_menu_id":"49","app_sub_menu_name":"Double
 Meaning","app_sub_menu_image":"http:\/\/app.hindipublic.com\/app_allwhatsupstatus\/menu\/medium\/9931504072151.jpg"}],"sub_menu":"true"},{"app_menu_id":"70","app_menu_name":"Emotions","all_sub_menu":[{"app_menu_id":"70","app_sub_menu_id":"50","app_sub_menu_name":"Love","app_sub_menu_image":"http:\/\/app.hindipublic.com\/app_allwhatsupstatus\/menu\/medium\/7611504072164.jpg"}],"sub_menu":"true"},{"app_menu_id":"71","app_menu_name":"Wishes","all_sub_menu":[{"app_menu_id":"71","app_sub_menu_id":"51","app_sub_menu_name":"Good
 Morning","app_sub_menu_image":"http:\/\/app.hindipublic.com\/app_allwhatsupstatus\/menu\/medium\/5171504072183.jpg"}],"sub_menu":"true"},{"app_menu_id":"72","app_menu_name":"Among Friend","all_sub_menu":[{"app_menu_id":"72","app_sub_menu_id":"52","app_sub_menu_name":"Friendship","app_sub_menu_image":"http:\/\/app.hindipublic.com\/app_allwhatsupstatus\/menu\/medium\/4411504072205.jpg"}],"sub_menu":"true"},{"app_menu_id":"73","app_menu_name":"Jokes","all_sub_menu":[{"app_menu_id":"73","app_sub_menu_id":"53","app_sub_menu_name":"Santa
 Banta","app_sub_menu_image":"http:\/\/app.hindipublic.com\/app_allwhatsupstatus\/menu\/medium\/4331504072225.jpg"}],"sub_menu":"true"},{"app_menu_id":"74","app_menu_name":"Featured","all_sub_menu":[{"app_menu_id":"74","app_sub_menu_id":"54","app_sub_menu_name":"Ganpati
 Bappa","app_sub_menu_image":"http:\/\/app.hindipublic.com\/app_allwhatsupstatus\/menu\/medium\/4771504072247.jpg"}],"sub_menu":"true"}]}

person Ashish Alagiya    schedule 21.09.2017    source источник
comment
покажи свою работу пожалуйста   -  person IntelliJ Amiya    schedule 21.09.2017
comment
stackoverflow.com/a/46195340/7230266 обратитесь к этому ответу   -  person Shashwat Gupta    schedule 21.09.2017
comment
где твой код?   -  person Mohsen_Fatemi    schedule 21.09.2017
comment
Сначала вы должны попробовать это сами. Если вы столкнетесь с проблемой, вы можете показать ее здесь.   -  person KeLiuyue    schedule 21.09.2017
comment
Хорошо, покажите свой код, и мы постараемся помочь.   -  person Vladyslav Matviienko    schedule 21.09.2017
comment
comment
вам нужно использовать вложенный цикл for для анализа этого типа JSON   -  person Shashwat Gupta    schedule 21.09.2017
comment
я отредактировал свой вопрос и загрузил изображение, чтобы потребовать вывод   -  person Ashish Alagiya    schedule 21.09.2017


Ответы (2)


Попробуй это.

try {
    JSONObject jsonObject = new JSONObject("JSONResponse");

    String scode = jsonObject.optString("scode");
    JSONArray allmenuArray = jsonObject.optJSONArray("all_menu");

    for (int i = 0; i < allmenuArray.length(); i++) {
        JSONObject objectJson = allmenuArray.optJSONObject(i);
        boolean sub_menu = objectJson.getBoolean("sub_menu");
        String app_menu_id = objectJson.getString("app_menu_id");
        String app_menu_name = objectJson.getString("app_menu_name");
        JSONArray all_sub_menu = objectJson.getJSONArray("all_sub_menu");

        for (int j = 0; j < all_sub_menu.length(); j++) {
            JSONObject data = allmenuArray.optJSONObject(j);
            Log.e("app_menu_id", data.getString("app_menu_id"));
            Log.e("app_sub_menu_id", data.getString("app_sub_menu_id"));
            Log.e("app_sub_menu_name", data.getString("app_sub_menu_name"));
            Log.e("app_sub_menu_image", data.getString("app_sub_menu_image"));
        }
    }
} catch (JSONException e) {
    Log.e("ERROr", e.toString());
}
person AskNilesh    schedule 21.09.2017
comment
парсер подмассива, как установить значение в формате загруженного изображения - person Ashish Alagiya; 21.09.2017
comment
получить значение данных подмассива в вашей переменной - person AskNilesh; 21.09.2017

Предположим, что «ответ» — это ваш JSONResponse

JSONObject jsonObject = new JSONObject(response);// This is used to get jsonObject from response

String sCode=jsonObject.optString("scode"); // This is how you can parse string from jsonObject
JSONArray allmenuArray=jsonObject.optJSONArray("all_menu"); //This is how you can parse JsonArray from jsonObject
for(int i=0;i<allmenuArray.length();i++){
JSONObject objectJson=allmenuArray.optJSONObject(i);//This is how you can parse jsonObject from jsonArray
}

Таким образом, вы можете разобрать все ваши jsonObject и jsonarray. Просто следуйте этим шагам, чтобы легко разобрать ваш полный ответ JSON.

person Shashwat Gupta    schedule 21.09.2017
comment
я отредактировал свой вопрос и загрузил изображение, чтобы потребовать вывод - person Ashish Alagiya; 21.09.2017