如何将大 JSON 对象拆分为更小的对象 - NODEJS

How to split large JSON object into smaller objects - NODEJS

将离线转化数据上传到 Facebook API 时,每个 API 调用有 2,000 个事件的限制。

为了上传 JSON 个包含超过 2000 个事件的对象,需要将它们拆分成更小的对象并且一次 POST 一个。

如何实现?

谢谢。

根据 docs,您可以通过构建一个 JSON 对象来描述您要执行的每个单独操作,从而发出批量请求。您可以在一个批处理请求中执行最多 50 个操作,但每个操作都算作一次调用。例如。单个批处理请求中的 50 个操作计为 50 个请求对您的配额。

感谢 etemple1 的回答。

当解决方案已经存在时我试图找到解决方法的一个很好的例子。

对于任何想要拆分 json 对象的人来说,这里是我使用的方法。

batchSize 是每个结果的大小 json(最后一个在到达数据末尾时中断的除外。

    var batchSize = 1900;
    var total = jsonObj.length;

    for (var j = 0; j <= Math.floor(total/batchSize); j++) {
        var data = [];
        var batchStart = j*batchSize;

        for (var i = batchStart; i < batchStart+batchSize; i++) { 
            var obj = {};
            var index = i;

            obj.currency = jsonObj[index].someFieldFoo;
            data.push(obj);
            if (index + 1 >= jsonObj.length) {
                break;
            }
            // console.log(data);

        };
    };