Как разобрать объекты массива JSON textview 1 и textview 2

Мой код работает для синтаксического анализа объектов json в одном текстовом представлении. Теперь я хочу изменить его, чтобы разобрать первый объект в текстовый Response, а второй в текстовый Response2, поэтому я изменил цикл for на i < = 1, чтобы я мог получить только первое 2 результата из массива мне не нужны остальные. цикл for работает на 1 поле, но я думаю, что-то не так с моим циклом if /else

try {
        // Parsing json array response
        // loop through each json object
        jsonResponse = "";
        jsonResponse2 ="";
        for (int i = 0; i <= 1; i++) {
          //int i  <= 1
            JSONObject person = (JSONObject) response
                            .get(i);

            String name = person.getString("name");

                if (i <=0){

                    jsonResponse += "Name: " + name + "\n\n";
                }

                else { jsonResponse2 += "Name: " + name + "\n\n";}

                }

            txtResponse.setText(jsonResponse);
            txtResponse2.setText(jsonResponse2);

JSON

[
    {
        "name": "Ravi Tamada",
        "email": "ravi8x@gmail.com",
        "phone": {
            "home": "08947 000000",
            "mobile": "9999999999"
        }
    },
    {
        "name": "Tommy",
        "email": "tommy@gmail.com",
        "phone": {
            "home": "08946 000000",
            "mobile": "0000000000"
        }
    },
    {
        "name": "Roy",
        "email": "roy8@gmail.com",
        "phone": {
            "home": "01944000000",
            "mobile": "6600000000"
        }
    },
    {
        "name": "Sami",
        "email": "sami69@gmail.com",
        "phone": {
            "home": "08006 104400",
            "mobile": "7700000000"
        }
    }
]

1 ответ

Может ли это решить вашу проблему:

                String name1,name2,name3,name4;
                JSONArray jArray=new JSONArray(result);
                for(int i=0;i<jArray.length();i++){
                    if(i==0){
                        name1=jArray.getJSONObject(i).getString("name");
                        Log.e("Name First", name1);
                    }else if(i==1){
                        name2=jArray.getJSONObject(i).getString("name");
                        Log.e("Name Second", name2);
                    }else if(i==2){
                        name3=jArray.getJSONObject(i).getString("name");
                        Log.e("Name Third", name3);
                    }else if(i==3){
                        name4=jArray.getJSONObject(i).getString("name");
                        Log.e("Name Four", name4);
                    }
                }
               // txtResponse.setText(name1);
               // txtResponse2.setText(name2);

Где "result" - это строка вашего массива json.

Другие вопросы по тегам