Впервые столкнулся с обработкой json данных. Нашел простой пример и вроде бы разобрался. Вопрос только как обработать вложенные массив в данных?
Сами данные JSON для примера вот такие, вся проблема в обработки данных "items":
{
"total": 2,
"module": "content",
"method": "getComplectItems",
"items": {
"item": {
"0": {
"ide": "1",
"namesmall": "11namr3rfd1",
"group": "1gr1"
},
"1": {
"ide": "2",
"namesmall": "222namr3rfd1",
"group": "2gr1"
}
}
}
}
Обрабатываю кодом:
$.getJSON('http://online.fteplo.ru/udata://content/getComplectItems.json?pid=1', function(data) {
var items = [];
$.each(data, function(key, val) {
items.push('<li id="' + key + '">' + val + '</li>');
});
var result = $('<ul/>', {
html: items.join('')
});
$("#g1").html(result);
});
По моему проще всего делать как то так:
$.post(url,function(data){
data.items.forEach(function(item){
str += '<li id="'+item.ide+'">'+item.namesmall+'</li>';
});
},'json');
Мне кажется, у вас json не корректный, массив это квадратные скобки []
{
"total": 2,
"module": "content",
"method": "getComplectItems",
"items": [
{
"ide": "1",
"namesmall": "11namr3rfd1",
"group": "1gr1"
},
{
"ide": "2",
"namesmall": "222namr3rfd1",
"group": "2gr1"
}
]
}
и в скрипте опечатка data и result
Тут нужна рекурсия. Вот как с помощью рекурсии вывести json:
var json={
"total": 2,
"module": "content",
"method": "getComplectItems",
"items": {
"item": {
"0": {
"ide": "1",
"namesmall": "11namr3rfd1",
"group": "1gr1"
},
"1": {
"ide": "2",
"namesmall": "222namr3rfd1",
"group": "2gr1"
}
}
}
};
$("#g1").html(recursive(json));
function recursive(data){
var items = [];
$.each(data, function(key, val) {
if(typeof val == 'object'){
items.push('<li id="' + key + '">' + key +':' + recursive(val) + '</li>');
}else{
items.push('<li id="' + key + '">' + key +':' + val + '</li>');
}
});
var result = '<ul>'+items.join('')+'</ul>';
return result;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="g1">Fail</div>
Думаю на базе этого вы уже дойдете до нужного результата сами.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости