将JSON对象拆分为批处理Node.js

时间:2016-12-20 21:20:27

标签: json node.js split

我希望在发布到数据存储层之前,使用我的Node.js应用程序将结果的JSON对象分成更小的批次。 JSON对象的结构是

{
 "results": [
     {
      "fieldA": "valueA",
      "fieldB": "valueB"
     },
    {
      "fieldC": "valueC",
      "fieldD": "valueD"
     },
    {
      "fieldE": "valueE",
      "fieldF": "valueF"
     },
     ....and so on, repeating 1000s of times
]
}

结果数组可以包含1000个对象。如何获取结果,并将它们拆分为每个结果数组不超过10个对象的批次?然后,我会进行单独的REST调用以发布批量结果。我希望JSON结构保持不变,但将结果分成每个结果数组10个对象的批次。

非常感谢提前

1 个答案:

答案 0 :(得分:1)

确定。关于你的评论,例如,这里是:

//The backslashes are just to escape the new lines
var resultsJson = '{\
   "results": [\
       {\
        "fieldA": "valueA",\
        "fieldB": "valueB"\
       },\
      {\
        "fieldC": "valueC",\
        "fieldD": "valueD"\
       },\
      {\
        "fieldE": "valueE",\
        "fieldF": "valueF"\
       }\
  ]\
}'

var resultsArr = JSON.parse(resultsJson).results;
var i,j,tempArr;
var chunk = 2; //The chunk size you want
for (i=0,j=resultsArr.length; i<j; i+=chunk) {
    tempArray = resultsArr.slice(i,i+chunk);
    // do whatever. for test uncomment next line
    //console.log(tempArray);
}