将响应缓冲区转换为JSON [英] Converting a Response Buffer to JSON

查看:133
本文介绍了将响应缓冲区转换为JSON的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在AWS中,我通过带有https模块的Lambda发出了一个get请求.我可以返回数据,但是当我调用callback(null, obj)

In AWS, I am issuing a get request through Lambda with the https module. I am able to return the data, but it is in the buffer format when I call 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?

How do I convert this to JSON?

推荐答案

我知道了.在这里可以找到tomfa的代码:

I figured it out. With tomfa's code found here: BinArraytoJson I simply did:

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));

这篇关于将响应缓冲区转换为JSON的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆