分解大型JSON对象

时间:2016-10-06 20:57:55

标签: javascript loops object

我有很多文件需要上传到我的数据库,我通过浏览器执行此操作,服务器正在调整发送给它的数据的大小问题并拒绝它。在这种情况下,服务器不受我的控制,因此我需要将这些对象分解为较小的对象,然后再将它们发送到服务器以插入数据库(rethinkdb,如果重要的话)。没有他们需要插入的顺序我只需要将文件拆分成更小的部分。

我知道我需要一个循环,但是我不明白我如何循环遍历100个对象,将它们保存为另一个对象将它们发送到服务器,然后从101开始等等......

循环浏览我得到的所有对象,但我无法弄清楚或找到示例。

下面的代码是为了它的目的而工作,但它只到250然后停止,它没有超过那个......

var lineData = jsonData.theData;
var newData = [];
var newLine;
//Shows on the browser console how many objects there are in the data
console.log(jsonData.theData.length);

//Goes through the Data and grabs the first 1000 lines
    for(var i = 0; i< 250; i++){
    newLine = lineData[i]
    newData.push(newLine);
    console.log(lineData[i]);
    }

1 个答案:

答案 0 :(得分:1)

你需要做的就是遍历你的对象和每100个对象,推出你的新阵列并重新开始。如下所示:

var lineData = jsonData.theData;
var newData = [];

for (var i=0; i < lineData.length; i++) {
    newLine = lineData[i];
    newData.push(newLine);
    if (i && !(i % 100)) {
        // upload newData
        newData = [];
    }
}
// check if there's any data left
if (newData.length) {
    // upload the remaining data
}