将数组/对象数组转换为JSON

时间:2016-08-02 05:19:55

标签: javascript node.js

我无法解决这个问题。以下是我的数组逻辑构建方式:

array1 = [ [array2], [array3], [array4] ... [array17] ]
array2 = [ ['obj1'], ['obj2'], ['obj3'] ... ['obj30'] ]
...
...
obj1 = ({prop1 : 'string1'}, { prop2 : 'string2'}, {prop3 : 'string3'} ... {prop30 : 'string30'}) 
obj2 = ({prop1 : 'string1'}, { prop2 : 'string2'}, {prop3 : 'string3'} ... {prop30 : 'string30'}) 
obj3 = ({prop1 : 'string1'}, { prop2 : 'string2'}, {prop3 : 'string3'} ... {prop30 : 'string30'}) 
...
...
obj30 = ({prop1 : 'string1'}, { prop2 : 'string2'}, {prop3 : 'string3'} ... {prop30 : 'string30'})

我想把它压平成一个JSON对象,如:

{"array1":[
    { "array2":[
        {"obj1":[
            {"prop1" : "string1",
             "prop2" : "string2"
            }
        }]
    }]
]}

以下是我提出的建议:

for (i=0; i < array1; i++) {

  var count = 0

  while (count < array1[0].length) {
    var jsonObj = {
      array[i] : {
        array[count] : {
          obj[count] : {
            'prop1' : 'string1'
          }
        }
      }
    }
    count++;
  }
}

2 个答案:

答案 0 :(得分:0)

您可以在循环responseData.res

时推送所有responses
secondRes.push.apply(secondRes, responseData.res)

之后使用firstRes

展开concat
var secondRes = firstRes.concat.apply([], firstRes);

答案 1 :(得分:0)

所以,问题有点令人困惑。但是如果你想从一个对象数组中创建一个数组数组,那么你就是这样做的。

secondArray=[];

firstArray.map((object, key) => {

 let innerArray = [];

 for (let prop in object){

  innerArray.push(object[prop])

 }

 secondArray.push(newArray);

});