我想使用javascript在for循环中创建一个JSON对象。我期待的结果是这样的:
{
"array":[
{
"value1":"value",
"value2":"value"
},
{
"value1":"value",
"value2":"value"
}
]
}
有人可以帮助我了解如何在javascript中实现此结果吗?
答案 0 :(得分:15)
不是在for循环中创建JSON,而是使用for循环创建常规JavaScript对象,并使用JSON.stringify(myObject)创建JSON。
var myObject = {};
for(...) {
myObject.property = 'newValue';
myObject.anotherProp = [];
for(...) {
myObject.anotherProp.push('somethingElse');
}
}
var json = JSON.stringify(myObject);
答案 1 :(得分:3)
var loop = [];
for(var x = 0; x < 10; x++){
loop.push({value1: "value_a_" + x , value2: "value_b_" + x});
}
JSON.stringify({array: loop});
答案 2 :(得分:1)
此代码可生成您需要的内容:
var result = {"array": []};
for(var i = 0; i < 2; i++){
var valueDict = {};
for(var j = 0; j < 2; j++){
valueDict["value" + (j+1).toString()] = "value";
}
result["array"].push(valueDict);
}
它使用push function将项添加到列表中,并使用indexer [] notation表示法修改对象原型上的条目。
希望它有所帮助,