@Fliss
Frontend developer

Как разобрать многомерный JSON?

Есть файл в формате JSON:
{
    "a":{"x":"y","x1":"y1","x2":"y2"},
    "b":{"z":"c","z1":"c1","z2":"c2"}
}

Необходимо вытащить из него данные x,y и z,c. Дальше разбора одномерного JSON'a с помощью такой конструкции:
$.getJSON('bt.json', function (data) {
            var items = [];
            $.each(data, function (key, val) {
                items.push('<option id="' + val + '" value="'+val+'">' + key + '</option>');
            });
                    
            $('<select/>', {
                'class': 'my-new-list',
                html: items.join("")
            }).appendTo('.model');

не получается продвинуться. Т.е. я так понимаю, что в val должна попадать строка вида {"x":"y","x1":"y1","x2":"y2"} , но как из неё получить данные понять не могу. Подскажите пожалуйста как это можно сделать.
  • Вопрос задан
  • 3364 просмотра
Пригласить эксперта
Ответы на вопрос 3
Diyahon
@Diyahon
Пишу код за еду
Наверное так
$.getJSON('bt.json', function (data) {
            var items = [];
$.each(data, function (val) {
            $.each(val, function (key, val) {
                items.push('<option id="' + val + '" value="'+val+'">' + key + '</option>');
            });
 });                    
            $('<select/>', {
                'class': 'my-new-list',
                html: items.join("")
            }).appendTo('.model');
Ответ написан
Комментировать
crazyzubr
@crazyzubr
Python backend-developer
val.x, val.x2 etc.
Ответ написан
Комментировать
@Fliss Автор вопроса
Frontend developer
Спасибо, оказалось необходимо сделать так :
$.getJSON('ko.json', function (data) {
                    var items = [];
                    $.each(data, function (key,val) {
                        $.each(val, function (key1, val1) {
                            if (key=='bt'){items.push('<option id="' + val1 + '" value="' + val1+ '">' + key1 + '</option>');}
                        });
                    });
                    $('<select/>', {
                        'class': 'my-new-list',
                        html: items.join("")
                    }).appendTo('.model');
                })
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы