Не получается распарсить json ответ

254
22 декабря 2017, 03:24

Из ajax запроса в скрипт приходит примерно такой ответ:

{"results":
{"ser19":{"io_ver":1.01,"ch_ver":"1.99","need_update":true},
"ser20":{"io_ver":1.01,"ch_ver":"1.53","need_update":true}
}}

В скрипте пытаюсь распарсить его и вывести на страницу (в переменной dt как раз json приведенный выше):

                    alert("y: " + dt);
                    var data_arr = JSON.parse(dt);
                    var x;
                    alert("x: " + data_arr.ser19.ch_ver);
                    for(x in data_arr){
                        $("#upd_res").append(data_arr[x].ch_ver);
                    }

И проблема в том, что первый alert выводит:

y: [object Object]

А весь остальной код не срабатывает, т.е. все что после:

var data_arr = JSON.parse(dt);

не выводится, в т.ч. и второй alert

alert("x: " + data_arr.ser19.ch_ver);

Подскажите как распарсить такой JSON в JavaScript и вывести его в виде текста:

ser19 - ch_ver 1.99
ser20 - ch_ver 1.53
Answer 1

var dt = '{"results":\ 
{"ser19":{"io_ver":1.01,"ch_ver":"1.99","need_update":true},\ 
"ser20":{"io_ver":1.01,"ch_ver":"1.53","need_update":true}\ 
}}'; 
 
var data_arr = JSON.parse(dt).results; 
console.log("x: " + data_arr.ser19.ch_ver); 
var x; 
for (x in data_arr) { 
  console.log(data_arr[x].ch_ver); 
}

Если dt это уже объект, то

var dt = {"results": 
{"ser19":{"io_ver":1.01,"ch_ver":"1.99","need_update":true}, 
"ser20":{"io_ver":1.01,"ch_ver":"1.53","need_update":true} 
}}; 
 
var data_arr = dt.results; 
console.log("x: " + data_arr.ser19.ch_ver); 
var x; 
for (x in data_arr) { 
  console.log(data_arr[x].ch_ver); 
}

READ ALSO
Как отловить клик на элементе дропдауна, который сделан с использованием selectize

Как отловить клик на элементе дропдауна, который сделан с использованием selectize

Всем приветСобственно, проблема в том, что не получается отловить клик, как и написано в заголовке

237
Не работает setCenter Яндекс карты

Не работает setCenter Яндекс карты

Дано: на странице есть карта с несколькими маркерамиЕсть список ссылок с координатами этих маркеров, по клику отрабатывает onclick=changeCenter(x,y)

319
Почему возвращает undefined [требует правки]

Почему возвращает undefined [требует правки]

Почему alert выдает длину массива как undefined?

136