2016-12-20 3 views
-4

Node.jsアプリケーションを使用して、結果のJSONオブジェクトをより小さなバッチに分割してから、データストレージレイヤに送信します。 JSONオブジェクトの構造はJSONオブジェクトをバッチに分割するNode.js

{ 
"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個のオブジェクトのバッチに結果を分割する。

多くのありがとうございます。

+0

アプリケーションのパフォーマンスに影響するので、JSON.parseしたくないですか? –

+0

あなたはこれを行う方法の例を挙げることができますか? – madchester1

答えて

0

たとえば、あなたのコメントについては、ここにあります:

//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); 
} 
関連する問題