我知道一个命名对象添加到现有的JavaScript对象你这样做:匿名对象添加到对象
var json = {};
json.a = {name:"a"};
但你怎么能以类似的方式对象添加到现有的JavaScript对象不分配它是一个关联名称,因此可以通过for()
语句访问它。对不起,如果我有点模糊,我不了解JavaScript对象。
UPDATE:
我想最终的结果看起来是这样:
var json = [{name:'a'}{name:'b'}];
我知道一个命名对象添加到现有的JavaScript对象你这样做:匿名对象添加到对象
var json = {};
json.a = {name:"a"};
但你怎么能以类似的方式对象添加到现有的JavaScript对象不分配它是一个关联名称,因此可以通过for()
语句访问它。对不起,如果我有点模糊,我不了解JavaScript对象。
UPDATE:
我想最终的结果看起来是这样:
var json = [{name:'a'}{name:'b'}];
尝试,你推一个项目上使用
myArrayVar.push(value);
或
myArrayVar[myArrayVar.length] = value;
这是没有意义的有一个对象的属性,而不使用属性名称。毕竟,“for ... in”循环是对该属性名称集合的循环。也就是说,
for (var k in obj)
将设置“K”依次等于每个属性的名称的在“OBJ”。
你有什么不严格的JSON对象。你正在使用JS对象文字。
你可以这样做:
var jsObj = {};
// add a 'name' property
jsObj = { name: 'a'};
var anotherObj = { other: "b" };
// will add 'other' proprty to jsObj
$.extend(jsObj, anotherObj);
// jsObj becomes - {name: 'a', other:'b'}
的上述JSON表示将看起来像:
var jsonString = "{'name': 'a', 'other':'b'}";
// will give you back jsObj.
var jsonObj = JSON.Parse(jsonString); // eval(jsonString) in older browsers
请注意,你不能有属性,而不使用名称。这是无效的:
// invalid, will throw error
jsObj = { : 'a'};
您不能这样做,因为JSON对象是字符串值对的集合。一个值可以是一个数组,你可以将你的对象推入该数组中,而不需要关联名称。
你所描述的对象的数组的数组。
var j = [{name:'a'},{name:'b'}];
这有您正在寻找的属性。你可以像这样操作就可以了:
for(var i in j) {
alert(j[i].name);
}
不要使用'for ... in'迭代数组。改用普通的'for'循环。 –
您是否在寻找['$ .extend()'](http://api.jquery.com/jQuery.extend/)? –
不,我想添加的对象是单独的对象 – nkcmr
你为什么想要做这样的事情? – Pointy