如何在javascript for循环中创建一个json对象

时间:2015-04-15 19:20:11

标签: javascript json

我想使用javascript在for循环中创建一个JSON对象。我期待的结果是这样的:

{
   "array":[
      {
         "value1":"value",
         "value2":"value"
      },
      {
         "value1":"value",
         "value2":"value"
      }
   ]
}

有人可以帮助我了解如何在javascript中实现此结果吗?

3 个答案:

答案 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表示法修改对象原型上的条目。

希望它有所帮助,