Как поймать ответ от сервера из вложенного json в android

я пытаюсь поймать ответ в моей библиотеке залпа по этой ссылке

[
    {
        "data": {
            "1": {
                "del_id": "1",
                "image1": "",
                "image2": "",
                "image3": "",
                "moving_item": "gvxx",
                "pick_up": "Luton, UK",
                "drop_off": "Brasília - Brasilia, Federal District, Brazil",
                "lat_pickup": "51.8786707",
                "long_pickup": "-0.4200255000000001",
                "lat_dropoff": "-15.7942287",
                "long_dropoff": "-47.882165799999996",
                "distance": "5459",
                "add_type": "personal",
                "date": "23-02-2018",
                "totalbid": "0",
                "current_bid": null
            },
            "2": {
                "del_id": "2",
                "image1": "47cdb3b7deb1572db979bd7d5e940364.jpg",
                "image2": "23cd1ee8a710ac4b88625178538e3537.jpeg",
                "image3": "",
                "moving_item": "hshaj",
                "pick_up": "Lutz, FL, USA",
                "drop_off": "Bradenton, FL, USA",
                "lat_pickup": "28.151124299999996",
                "long_pickup": "-82.4614831",
                "lat_dropoff": "27.498927799999997",
                "long_dropoff": "-82.5748194",
                "distance": "45",
                "add_type": "personal",
                "date": "02-12-2018",
                "totalbid": "0",
                "current_bid": null
            }]

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

 JSONObject obj = new JSONObject(response);
                            JSONArray c1 = obj.getJSONArray("data");
                            //JSONArray jsonArray = new JSONArray(response);
                            for (int i = 0; i < c1.length(); i++)
                            {
                                JSONObject searchlist = c1.getJSONObject(i);
                                searchmodel.add(new SearchModel(
                                        searchlist.optString("moving_item"),
                                        searchlist.optString("pick_up"),
                                        searchlist.optString("drop_off"),
                                        searchlist.optDouble("distance"),
                                        searchlist.optInt("totalbid"),
                                        searchlist.optInt("current_bid"),
                                        searchlist.optString("date"),
                                        searchlist.optString("image1")

                                ));
                            }

пожалуйста, помогите мне решить мою проблему, я изо всех сил стараюсь решить эту проблему, я очень благодарен, если кто-то вытащит меня из этого, спасибо

В вашем коде есть две основные проблемы. 1) Ваш json недействителен 2) Вы пытаетесь проанализировать JsonObject, тогда как ваш ответ - JsonArray.

Kunu 09.03.2018 14:34

Вы дадите мне какой-нибудь пример кода, чтобы решить эту проблему @ku

Rana Abdul Wajid 09.03.2018 14:35

братан он дал мне JSONexception @ Aj27

Rana Abdul Wajid 09.03.2018 14:36

Опубликуйте свой правильный файл json. И вы можете проверить, действителен ли json или нет здесь

Kunu 09.03.2018 14:37

@RanaAbdulWajid сначала вставьте весь свой json, чтобы мы знали, как его проанализировать, увидев, что ваш json в первую очередь начинает синтаксический анализ с jsonArray.

Shashank Verma 09.03.2018 14:47

@Kunu, я вставляю свой ответ json, он говорит, что действительный json, пожалуйста, помогите поймать этот ответ

Rana Abdul Wajid 09.03.2018 19:46
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
6
46
1

Ответы 1

Эй, человек, прежде всего, это не место для получения такой логики, которую тебе нужно искать больше, пока ты ее не получишь, а как думаешь, что это твой запуск в Android, поэтому я предоставляю вам, как разобрать ваш json, проверить ответ, если он правильный чтобы помочь другим, я пробовал это, и он работает нормально, надеюсь, это поможет вам:

try {

            JSONArray jsonRootArray = new JSONArray(json);
            for (int i=0;i<jsonRootArray.length();i++){
                JSONObject jsonObject = jsonRootArray.getJSONObject(i);
                JSONObject jsonObject1 = jsonObject.getJSONObject("data");
                for (int j=1;j<=jsonObject1.length();j++){
                    JSONObject jsonObject2 = jsonObject1.getJSONObject(j+"");
                    String del_id = jsonObject2.getString("del_id");
                    Log.e("id",del_id);
                }
            }
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

И еще один совет

перед началом просто проверьте свой json на http://jsonviewer.stack.hu/, если он недействителен, а также из этого вы поймете, как его разобрать.

спасибо братан за ваше драгоценное время, я обязательно попробую это

Rana Abdul Wajid 15.03.2018 01:40

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