Ответы пользователя по тегу JSON
  • Как сгенерировать форму на JS из JSON?

    @dimentimor
    // превращаем json в объект
    var obj = JSON.parse(json);
    
    // создаем форму
    var form = document.createElement('form');
    
    // а далее по обстоятельствам.
    // если количество инпутов соответствует числу элементов массива excluded,
    // то в цикле перебираем массив, и добавляем элементы
    for (var i = 0; i < obj.excluded.length; i++) {
        var input = document.createElement('input');
    
        // добавляем атрибуты 
        input.setAttribute('type', 'hidden');
        input.setAttribute('name', 'excluded[' + obj.excluded[i] + ']' );
        // ...
        // и добавляем на страницу
        form.appentChild(input);
    }
    
    element.appentChild(form);
    Ответ написан
    7 комментариев
  • Как вставить json объекты в таблицу?

    @dimentimor
    Превратить json в объект можно так:
    // json
    var json = '{"foo": "bar", "lorem": "ipsum"}';
    
    // Парсим в объект
    var obj = JSON.parse(json);
    
    // в цикле обходим свойства объекта
    // добавляя значения в таблицу
    for (var i in obj) {
    	var td = document.createElement('td');
    	td.innerHTML = obj[i];
    	tr.appendChild(td);
    }


    В реальности алгоритм чуть сложней, т.к. надо из ключей составить заголовки столбцов, а из значений- ячейки. Но это уже другая тема)
    p.s.
    Если у вас массив объектов, то надо массив обходить в одном цикле, и для каждого объекта в массиве выполнять обход в вышеприведенном цикле.
    Ответ написан
  • Как парсить и выводить JSON в HTML с помощью JavaScript?

    @dimentimor
    Например:
    var data = {
    	name: 'Jack',
    	items: {
    		dog: 1,
    		car: 1,
    		phone: 2,
    	},
    };
    
    // объект в json
    var json = JSON.stringify(data); // {"name":"Jack","items":{"dog":1,"car":1,"phone":2}}
    
    // json в объект
    var obj = JSON.parse(json); // объект


    Когда получаем json- преобразуем его в объект, а дальше уже в зависимости от структуры данных
    var data = JSON.parse('{"name":"Jack","items":{"dog":1,"car":1,"phone":2}}');
    
    var header = '<h2>My name is ' + data.name + '</h2>';
    var list = '';
    
    for (var i in data.items) {
    	list += '<li>' + i + ': ' + data.items[i] + ' шт. </li>';
    }
    
    document.getElementById('div').innerHTML += header;
    document.getElementById('div').innerHTML += '<ul>' + list + '</ul>';
    
    // Конечно, лучше создавать элементы через
    // var div = document.createElement('div');
    // наполнять через div.innerHTML = "text";
    // и добавлять их через element.appendChild(div);

    1978d2a5f51544268810b11dc1357ee7.jpg
    Ответ написан
    Комментировать