这是愚蠢的,但我遗漏了一些东西,无法得出结论。 我正在尝试初始化JSON数组并尝试将JSON对象添加到运行时。 举个例子,我将从服务器获取重复值列表,如下所示。
"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]
我必须创建一个对象数组并在其中填充这些值。
我正在尝试初始化像
这样的数组var myArr = [];
我希望动态添加带有属性的对象,如下所示。
var myobj = {}
for(int i=0;i<length;i++)
{
myobj[i].name = serverrespOBJ.name;
myobj[i].lastName= 'serverrespOBJ.lastname';
myArr.push(myobj)
}
我收到名称无法添加到未定义的错误,所以我相信,我向对象添加项目的方式不正确。
我试图找到一个很好的例子,但无法得到它。任何帮助将不胜感激。
由于
答案 0 :(得分:3)
你会想要这样的东西:
var data = { employees: [] } // initially empty
data.employees.push( {
firstName: 'John',
lastName: 'Doe'
} );
答案 1 :(得分:1)
你可以像这样初始化一个新的json对象:
var jsonObj = {};
jsonObj.employees = [];
jsonObj.employees.push({"firstName":"Waqar", "lastName":"Alamgir"});
或者像这样添加数据:
var jsonObj = {
"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]
};
jsonObj.employees.push({"firstName":"Waqar", "lastName":"Alamgir"});
console.log(jsonObj);
答案 2 :(得分:1)
首先简单地初始化要动态播放的对象或数组e.x:
var myArr = [], myObj = {};
现在,如果要向他们添加元素:
myArr.push(10);
myObj.new = 10 or myObj['new'] = 10
更高级:
myArr.push(myObj); //[10, {'new':10}] --> looks our object
答案 3 :(得分:1)
检查这个小提琴 - http://jsfiddle.net/FamBn/1/
<强> HTML:强>
<input type="text" id="firstname" />
<input type="text" id="lastname" />
<input type="submit" id="add" />
<div id="dsp"></div>
<强> JS:强>
var employees=[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
];
$('#add').click(function(){
var fname=$('#firstname').val();
var lname=$('#lastname').val();
employees.push({
firstName: fname,
lastName: lname
});
var output = '';
for (var i=0; i<employees.length; i++) {
output += "FirstName: " + employees[i].firstName + " LastName: " + employees[i].lastName;
}
$('#dsp').html(output);
console.log(employees);
});