将响应缓冲区转换为 JSON
Converting a Response Buffer to JSON
在 AWS 中,我使用 https 模块通过 Lambda 发出获取请求。我能够 return 数据,但是当我调用 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);
});
Returns 这个:
Response:
{
"bar": "{\"type\":\"Buffer\",\"data\":[31,153,38,35,...]}",
"bar1": "[{\"app_id\":1111111,\"user_id\":111111,....\"}]"
}
如何将其转换为 JSON?
我明白了。在此处找到 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));
在 AWS 中,我使用 https 模块通过 Lambda 发出获取请求。我能够 return 数据,但是当我调用 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);
});
Returns 这个:
Response:
{
"bar": "{\"type\":\"Buffer\",\"data\":[31,153,38,35,...]}",
"bar1": "[{\"app_id\":1111111,\"user_id\":111111,....\"}]"
}
如何将其转换为 JSON?
我明白了。在此处找到 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));