如何将一个jSON对象赋值给一个jSON数组呢?有两种方法。
假设其中jSON对象是var kpis = {"A": [1,2,3,4,5],"B": [ 2,3,4,5,6]}, jSON 数组是var series = [{name:null,data:null}, {name:null,data:null}]
>>>第一种方法:
var index=0;
for( var tests in kpis){
series[index].name=tests;
series[index].data=kpis[tests];
}
点评:第一种方法对于超过两个名称/值对的情况不适用,只能手动增加jSON数组的长度,比较麻烦。经过boss的指导,有了第二种方法。
>>>第二种方法:
series=[];
for(var tests in kpis){
//定义一个新的jSON对象,改变成jSON数组中jSON数据的格式
var json = {name:tests, data:kpis[tests]};
//通过数组的push()方法向数组中增加jSON数据
series.push(json);
}
点评:第二种方法,在遍历kpis这个jSON对象的时候,生成新的格式的jSON对象,不断push到数组中,这样就达到了目的,而且即使是有名称/值对也不怕,通用性增强。
所以推荐第二种方法。