【问题标题】:Converting a Response Buffer to JSON将响应缓冲区转换为 JSON
【发布时间】:2019-01-10 12:47:46
【问题描述】:

在 AWS 中,我使用 https 模块通过 Lambda 发出获取请求。我可以返回数据,但是当我调用callback(null, obj)时它是缓冲区格式的

https.get(options, (res) => {
    res.on('data', (d) => {
        var foo = (JSON.stringify(d));
        var foo1 = d.toString('utf8');

        var obj = {
            bar: foo,
            bar1: foo2
        };

        callback(null, obj);
    });
  }).on('error', (e) => {
    console.error(e);
});

返回:

Response:
{
   "bar": "{\"type\":\"Buffer\",\"data\":[31,153,38,35,...]}",
   "bar1": "[{\"app_id\":1111111,\"user_id\":111111,....\"}]"
}

如何将其转换为 JSON?

【问题讨论】:

    标签: javascript json amazon-web-services aws-lambda buffer


    【解决方案1】:

    我想通了。在这里找到tomfa的代码:BinArraytoJson我只是做了:

    var binArrayToJson = function(binArray) {
        var str = "";
        for (var i = 0; i < binArray.length; i++) {
            str += String.fromCharCode(parseInt(binArray[i]));
        } 
        return JSON.parse(str)
    }
    

    然后: JSON.parse(binArrayToJson(yourBinArray));

    【讨论】:

    猜你喜欢
    • 2022-11-04
    • 1970-01-01
    • 2022-11-04
    • 2021-01-14
    • 2022-08-05
    • 2020-04-26
    • 2018-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多