Данные JSON в наборы данных
{
"count": '2',
"data": [{
"value": "58",
"color": "red"
}, {
"value": "45",
"color": "blue"
}, {
"value": "32",
"color": "yellow"
}, {
"value": "25",
"color": "orange"
}]
}
Я хотел бы эти данные в 2 набора данных. что-то вроде ниже
"dataone": [{
"value": "58",
"color": "red"
}, {
"value": "45",
" color": "blue"
}];
"dataatwo": [{
"value": "32",
"color": "yellow"
}, {
"value": "25",
"color": "orange"
}];
Как выполнить итерации над данными JSON для генерации наборов данных с использованием Javascript.
3 ответа
Решение
var i, res = {}, _data, names = ['dataone', 'datatwo'];
for (i = 0; i < +json.count; i++) {
_data = json.data.splice(0, +json.count);
if (_data && _data.length) {
res[names[i]] = _data;
}
}
var a={
"count": '2',
"data": [{
"value": "58",
"color": "red"
}, {
"value": "45",
"color": "blue"
}, {
"value": "32",
"color": "yellow"
}, {
"value": "25",
"color": "orange"
}]
}
var d1= { dataone: a.data.slice(0,a.count) };
var d2= { datatwo: a.data.slice(count) };
console.log(d1);
console.log(d2);
Общий случай
a.data.forEach(function(e,i){
if(i%a.count==0)
console.log(a.data[i],a.data[i+1]);
}
)
Попробуй это
http://jsfiddle.net/uoh63kx4/3/
var json = {
"count": '2',
"data": [{
"value": "58",
"color": "red"
}, {
"value": "45",
"color": "blue"
}, {
"value": "32",
"color": "yellow"
}, {
"value": "25",
"color": "orange"
}]
};
var dataone=[];
var dataatwo=[];
for(var i=0;i<json.count;i++)
{
dataone.push(json.data[i])
}
for(var i=json.count;i<json.data.length;i++)
{
dataatwo.push(json.data[i])
}
console.log(dataone);
console.log(dataatwo);