Проблема разбора этого ответа JSON - PullRequest
0 голосов
/ 24 мая 2011

Я пытаюсь разобрать следующий ответ json:

[
    {
        "modelTrimList":{
            "modelTrim":[
                {
                    "bodyStyle":"5-DOOR",
                    "cylinders":4,
                    "highwayMpg":0,
                    "modelCode":6203,
                    "transmission":"Manual",
                    "cityMpg":0,
                    "msrp":16000,
                    "description":"5-Door",
                    "modelYear":2011,
                    "name":"Scion xb",
                    "curbWeight":0,
                    "@id":"81454531",
                    "effectiveDate":"4\/28\/10",
                    "displayName":"xB",
                    "deliveryFee":775
                },
                {
                    "bodyStyle":"5-DOOR",
                    "cylinders":4,
                    "highwayMpg":0,
                    "modelCode":6202,
                    "transmission":"Automatic",
                    "cityMpg":0,
                    "msrp":16950,
                    "description":"5-DOOR",
                    "modelYear":2011,
                    "name":"Scion xb",
                    "curbWeight":0,
                    "@id":"81454516",
                    "effectiveDate":"4\/28\/10",
                    "displayName":"xB",
                    "deliveryFee":720
                }
            ]
        },
        "name":"xB",
        "@id":"Scion xb"
    },
    {
        "modelTrimList":{
            "modelTrim":[
                {
                    "bodyStyle":"3 DOOR LIFTBACK",
                    "cylinders":4,
                    "highwayMpg":0,
                    "modelCode":6223,
                    "transmission":"Manual",
                    "cityMpg":0,
                    "msrp":18275,
                    "description":"2 DOOR L\/B",
                    "modelYear":2011,
                    "name":"Scion tC",
                    "curbWeight":3945,
                    "@id":"84604049",
                    "effectiveDate":"8\/6\/10",
                    "displayName":"tC",
                    "deliveryFee":720
                },
                {
                    "bodyStyle":"3 DOOR LIFTBACK",
                    "cylinders":4,
                    "highwayMpg":0,
                    "modelCode":6222,
                    "transmission":"Automatic",
                    "cityMpg":0,
                    "msrp":19275,
                    "description":"2 DOOR L\/B",
                    "modelYear":2011,
                    "name":"Scion tC",
                    "curbWeight":3945,
                    "@id":"84604028",
                    "effectiveDate":"8\/6\/10",
                    "displayName":"tC",
                    "deliveryFee":720
                }
            ]
        },
        "name":"tC",
        "@id":"Scion tC"
    },
    {
        "modelTrimList":{
            "modelTrim":[
                {
                    "bodyStyle":"5-DOOR",
                    "cylinders":4,
                    "highwayMpg":0,
                    "modelCode":6233,
                    "transmission":"Manual",
                    "cityMpg":0,
                    "msrp":15045,
                    "description":"5-DOOR",
                    "modelYear":2011,
                    "name":"Scion xd",
                    "curbWeight":3605,
                    "@id":"91724869",
                    "effectiveDate":"12\/8\/10",
                    "displayName":"xD",
                    "deliveryFee":775
                },
                {
                    "bodyStyle":"5-DOOR",
                    "cylinders":4,
                    "highwayMpg":0,
                    "modelCode":6232,
                    "transmission":"Automatic",
                    "cityMpg":0,
                    "msrp":15845,
                    "description":"5-DOOR",
                    "modelYear":2011,
                    "name":"Scion xd",
                    "curbWeight":3605,
                    "@id":"91724562",
                    "effectiveDate":"12\/8\/10",
                    "displayName":"xD",
                    "deliveryFee":775
                }
            ]
        },
        "name":"xD",
        "@id":"Scion xd"
    }
]

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

Ответы [ 3 ]

2 голосов
/ 24 мая 2011

Вам нужно обернуть его []: сейчас это недопустимый JSON.

РЕДАКТИРОВАТЬ: если оно правильно упаковано, попробуйте это:

JSONArray js = new JSONArray(newjson);
        Toast.makeText(getApplicationContext(),js.toString(), Toast.LENGTH_LONG).show();
        for (int i = 0; i < js.length(); i++) {
            Toast.makeText(getApplicationContext(),js.getJSONObject(i).getString("name").toString(), Toast.LENGTH_LONG)
            .show();
0 голосов
/ 24 мая 2011

Самый простой способ ответить на этот вопрос - запустить его с помощью онлайн-инструмента проверки, такого как JSON Lint:

http://jsonlint.com/

В вашем примере предлагается ошибка в строке 42:

Ошибка разбора в строке 42: ... "@id": "Scion xb"}, {"modelTrimLi ---------------------- ^ Ожидая 'EOF'

0 голосов
/ 24 мая 2011

Это потому, что ваш JSON недействителен, похоже, он должен быть массивом modelTrimList s

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