Как получить многоуровневый JSON с помощью volley?

#android #json #android-volley

#Android #json #android-volley

Вопрос:

Мой пример JSON, в котором я готов получать данные из каждого массива «show»

  {
            "score":17.873907,
            "show":{
                "id":139,
                "url":"http://www.tvmaze.com/shows/139/girls",
                "name":"Girls",
                "type":"Scripted",
                "language":"English",
                "genres":[
                    "Drama",
                    "Romance"
                ],
                "status":"Ended",
                "runtime":30,
                "premiered":"2012-04-15",
                "officialSite":"http://www.hbo.com/girls",
                "schedule":{
                    "time":"22:00",
                    "days":[
                        "Sunday"
                    ]
                },
                "rating":{
                    "average":6.7
                },
                "weight":81,
                "network":{
                    "id":8,
                    "name":"HBO",
                    "country":{
                        "name":"United States",
                        "code":"US",
                        "timezone":"America/New_York"
                    }
                },
                "webChannel":null,
                "externals":{
                    "tvrage":30124,
                    "thetvdb":220411,
                    "imdb":"tt1723816"
                },
                "image":{
                    "medium":"http://static.tvmaze.com/uploads/images/medium_portrait/31/78286.jpg",
                    "original":"http://static.tvmaze.com/uploads/images/original_untouched/31/78286.jpg"
                },
                "summary":"<p>This Emmy winning series is a comic look at the assorted humiliations and rare triumphs of a group of girls in their 20s.</p>",
                "updated":1600633829,
                "_links":{
                    "self":{
                        "href":"http://api.tvmaze.com/shows/139"
                    },
                    "previousepisode":{
                        "href":"http://api.tvmaze.com/episodes/1079686"
                    }
                }
            }
        }
 

Код запроса, который я использую, который дает мне хороший ответ, но я не могу проанализировать ответ на JSONObject

введите описание изображения здесь

Отображается ошибка

org.json.JSONException: отображение значения типа java.lang.Строка не может быть преобразована в JSONObject

Комментарии:

1. что такое новый JSONObject («показать»)??

2. это должно быть что-то вроде new JSONObject (response)

3. JSONObject (response) также показывает исключение по типу, которое не может быть преобразовано в объект JSON.

4. можете ли вы записать ответ, прежде чем преобразовывать его в jsonobj.? убедитесь, что вы получаете строку json

5. пожалуйста, предоставьте вам код в виде текста, а не в виде изображения

Ответ №1:

Когда вы передаете JSONObject («show»), он пытается преобразовать строку ‘show’ в json, очевидно, это не json stirng, поэтому он выдает ошибку; Это должно быть что-то вроде :

 JSONObject obj = new JSONObject(response);
JSONObject obj_show= obj.getJSONObject("show"));
Log.d("show",obj_show.getJSONObject("show").toString());
 

Комментарии:

1. По-прежнему выдает исключение значения

Ответ №2:

Решение было следующим: «Я использовал вложенный класс модели для загрузки данных, и это сработало как шарм!»