var contacts = {
"people": [{
"firstName": "Brett",
"lastName": "McLaughlin",
"email": "brett@newInstance.com"
},
{
"firstName": "Jason",
"lastName": "Hunter",
"email": "jason@servlets.com"
},
{
"firstName": "Elliotte",
"lastName": "Harold",
"email": "elharo@macfaq.com"
}]
};
里面的firstname,lastname,email这种对象的个数是动态的,从页面里拿进来的
怎么实现动态添加
var arrays=new Array();
var json {
"firstName": "Elliotte",
"lastName": "Harold",
"email": "elharo@macfaq.com"
}];
arrays.push(json);
可以这样一个一个添加
但是“people”这属性就没了?
11 个解决方案
#1
把动态数据作为参数传递进来,然后for循环赋值不可以吗
#2
能写代码吗?
我也知道应该怎么样
但是json的api不熟
#3
我的是json2.js
#4
关注 学习 加顶
#5
可以用数组 比如data[0][0].firstName(第一个[]里面的值 是第几个json值) data[1][0].firstName 这是取的第2个。后面的[] 这个 如果放的值是个list 可以遍历
这样说你明白吗
这样说你明白吗
#6
我不懂json,我还以为是js呢,只能提供一种思路了。。。=_=!
#7
我不知道我理解的对不对。
你的原始的变量里面,是一个map,people=....
但是你push的时候并没有指定将它push到people这个属性里去。
我认为你应该是先取得contacts.people,再在这个基础上进行push操作的。
或者push以后替代原有的people属性。
你的原始的变量里面,是一个map,people=....
但是你push的时候并没有指定将它push到people这个属性里去。
我认为你应该是先取得contacts.people,再在这个基础上进行push操作的。
或者push以后替代原有的people属性。
#8
var contacts = {
"people": [{
"firstName": "Brett",
"lastName": "McLaughlin",
"email": "brett@newInstance.com"
},
{
"firstName": "Jason",
"lastName": "Hunter",
"email": "jason@servlets.com"
},
{
"firstName": "Elliotte",
"lastName": "Harold",
"email": "elharo@macfaq.com"
}]
};
contacts 是一个对象,它的属性people, contacts.people是一个数组
[{
"firstName": "Brett",
"lastName": "McLaughlin",
"email": "brett@newInstance.com"
},
{
"firstName": "Jason",
"lastName": "Hunter",
"email": "jason@servlets.com"
},
{
"firstName": "Elliotte",
"lastName": "Harold",
"email": "elharo@macfaq.com"
}]
再分析contacts.people,它是个长度为3的数组
contacts.people[0]={
"firstName": "Brett",
"lastName": "McLaughlin",
"email": "brett@newInstance.com"
}
contacts.people[1]={fir....},
contacts.people[2]={fir....},
然后contacts.people[0]本身又是个json格式的对象,contacts.people[0].firstName="Brett"
就这样而已
所以你要添加一个,不是对contacts进行添加,而是对contacts.people进行添加,OK??
"people": [{
"firstName": "Brett",
"lastName": "McLaughlin",
"email": "brett@newInstance.com"
},
{
"firstName": "Jason",
"lastName": "Hunter",
"email": "jason@servlets.com"
},
{
"firstName": "Elliotte",
"lastName": "Harold",
"email": "elharo@macfaq.com"
}]
};
contacts 是一个对象,它的属性people, contacts.people是一个数组
[{
"firstName": "Brett",
"lastName": "McLaughlin",
"email": "brett@newInstance.com"
},
{
"firstName": "Jason",
"lastName": "Hunter",
"email": "jason@servlets.com"
},
{
"firstName": "Elliotte",
"lastName": "Harold",
"email": "elharo@macfaq.com"
}]
再分析contacts.people,它是个长度为3的数组
contacts.people[0]={
"firstName": "Brett",
"lastName": "McLaughlin",
"email": "brett@newInstance.com"
}
contacts.people[1]={fir....},
contacts.people[2]={fir....},
然后contacts.people[0]本身又是个json格式的对象,contacts.people[0].firstName="Brett"
就这样而已
所以你要添加一个,不是对contacts进行添加,而是对contacts.people进行添加,OK??
#9
确切的说json也是js一种对象,只不过要有固定格式而已。所有可以将json对象看成普通的js对象,然后操作~!
#10
var mjson = {
"firstName": "Elliotte",
"lastName": "Harold",
"email": "elharo@macfaq.com"
};
contacts.people[contacts.people.length]=mjson;
#11
顶
#1
把动态数据作为参数传递进来,然后for循环赋值不可以吗
#2
能写代码吗?
我也知道应该怎么样
但是json的api不熟
#3
我的是json2.js
#4
关注 学习 加顶
#5
可以用数组 比如data[0][0].firstName(第一个[]里面的值 是第几个json值) data[1][0].firstName 这是取的第2个。后面的[] 这个 如果放的值是个list 可以遍历
这样说你明白吗
这样说你明白吗
#6
我不懂json,我还以为是js呢,只能提供一种思路了。。。=_=!
#7
我不知道我理解的对不对。
你的原始的变量里面,是一个map,people=....
但是你push的时候并没有指定将它push到people这个属性里去。
我认为你应该是先取得contacts.people,再在这个基础上进行push操作的。
或者push以后替代原有的people属性。
你的原始的变量里面,是一个map,people=....
但是你push的时候并没有指定将它push到people这个属性里去。
我认为你应该是先取得contacts.people,再在这个基础上进行push操作的。
或者push以后替代原有的people属性。
#8
var contacts = {
"people": [{
"firstName": "Brett",
"lastName": "McLaughlin",
"email": "brett@newInstance.com"
},
{
"firstName": "Jason",
"lastName": "Hunter",
"email": "jason@servlets.com"
},
{
"firstName": "Elliotte",
"lastName": "Harold",
"email": "elharo@macfaq.com"
}]
};
contacts 是一个对象,它的属性people, contacts.people是一个数组
[{
"firstName": "Brett",
"lastName": "McLaughlin",
"email": "brett@newInstance.com"
},
{
"firstName": "Jason",
"lastName": "Hunter",
"email": "jason@servlets.com"
},
{
"firstName": "Elliotte",
"lastName": "Harold",
"email": "elharo@macfaq.com"
}]
再分析contacts.people,它是个长度为3的数组
contacts.people[0]={
"firstName": "Brett",
"lastName": "McLaughlin",
"email": "brett@newInstance.com"
}
contacts.people[1]={fir....},
contacts.people[2]={fir....},
然后contacts.people[0]本身又是个json格式的对象,contacts.people[0].firstName="Brett"
就这样而已
所以你要添加一个,不是对contacts进行添加,而是对contacts.people进行添加,OK??
"people": [{
"firstName": "Brett",
"lastName": "McLaughlin",
"email": "brett@newInstance.com"
},
{
"firstName": "Jason",
"lastName": "Hunter",
"email": "jason@servlets.com"
},
{
"firstName": "Elliotte",
"lastName": "Harold",
"email": "elharo@macfaq.com"
}]
};
contacts 是一个对象,它的属性people, contacts.people是一个数组
[{
"firstName": "Brett",
"lastName": "McLaughlin",
"email": "brett@newInstance.com"
},
{
"firstName": "Jason",
"lastName": "Hunter",
"email": "jason@servlets.com"
},
{
"firstName": "Elliotte",
"lastName": "Harold",
"email": "elharo@macfaq.com"
}]
再分析contacts.people,它是个长度为3的数组
contacts.people[0]={
"firstName": "Brett",
"lastName": "McLaughlin",
"email": "brett@newInstance.com"
}
contacts.people[1]={fir....},
contacts.people[2]={fir....},
然后contacts.people[0]本身又是个json格式的对象,contacts.people[0].firstName="Brett"
就这样而已
所以你要添加一个,不是对contacts进行添加,而是对contacts.people进行添加,OK??
#9
确切的说json也是js一种对象,只不过要有固定格式而已。所有可以将json对象看成普通的js对象,然后操作~!
#10
var mjson = {
"firstName": "Elliotte",
"lastName": "Harold",
"email": "elharo@macfaq.com"
};
contacts.people[contacts.people.length]=mjson;
#11
顶