【问题标题】:Splitting a JSON object into batches Node.js将 JSON 对象拆分为批次 Node.js
【发布时间】:2017-05-06 04:59:02
【问题描述】:

在发布到数据存储层之前,我想使用我的 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 个对象的批次。

在此先感谢

【问题讨论】:

  • 你不想 JSON.parse 它,因为它会影响你的应用程序的性能?
  • 你能举个例子说明如何做到这一点吗?

标签: json node.js split


【解决方案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);
}

【讨论】:

    猜你喜欢
    • 2020-07-16
    • 2018-04-26
    • 2014-10-03
    • 1970-01-01
    • 2018-12-18
    • 2014-04-20
    • 2021-06-30
    • 1970-01-01
    相关资源
    最近更新 更多