Страницы

Поиск по вопросам

воскресенье, 16 февраля 2020 г.

Как получить доступ к содержимому json-строки

#javascript #jquery #json


Есть json-строка:

{
    "success":true,
    "data":{
        "BKK":{
            "origin":"IEV",
            "destination":"BKK",
            "price":7936,
            "transfers":1,
            "airline":"FZ",
            "flight_number":730,
            "departure_at":"2017-01-16T03:20:00Z",
            "return_at":"2017-03-08T12:10:00Z",
            "expires_at":"2016-12-29T12:07:13Z"
        },
        "DXB":{
            "origin":"IEV",
            "destination":"DXB",
            "price":2378,
            "transfers":0,
            "airline":"FZ",
            "flight_number":728,
            "departure_at":"2017-01-12T14:25:00Z",
            "return_at":"2017-01-31T19:55:00Z",
            "expires_at":"2016-12-29T18:48:32Z"
        }
    },
    "error":null,
    "currency":"UAH"
}


И когда я пытаюсь получить доступ к значению поля, например, origin, то получаю ошибку
Uncaught TypeError: Cannot read property 'origin' of undefined
:

for(var i = 0; i < 3; i++) {
    pwf.append('
Пункт отправки:' + json.data[i].origin + '
'); } Подозреваю, что это из-за того, что у массивов данных разные ключи, но как решить проблему - не знаю.


Ответы

Ответ 1



json.data не массив, а обычный объект. Можно пройтись по всем его свойствам: for (var p in json.data) { pwf.append('
Пункт отправки:' + json.data[p].origin + '
'); }

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

Отправить комментарий