在 Node.js 中将缓冲区转换为可读的 JSON 格式
Converting the Buffer to readable JSON format in Node.js
我有一个缓冲区文本,我从 SendGrid 入站解析 webhook 获得。
入站解析 Webhook 处理域或子域的所有传入电子邮件,解析内容和附件,然后将 multipart/form-data 发送到您选择的 URL。
发布的内容是缓冲区格式如下
<Buffer 2d 2d 78 64 6b 69 ... >
现在我需要将其转换为可读的 JSON 格式。
当我尝试将此缓冲区转换为 JSON 时,我得到的结果是这样的。
var json = JSON.parse(buf);
{ type: 'Buffer', data: [ 97, 98, 99 ] }
我需要如下例所示的内容。那就是actula格式。
当我尝试将缓冲区转换为字符串格式时,我得到了我需要的结果。但是,那是整个字符串格式。我需要 JSON 格式。因为我需要一些响应参数,如“发件人”、“收件人”信息。有什么方法可以将缓冲区转换为可读的 JSON 格式。
缓冲区 -> 字符串 -> JSON
你能帮我把 Buffer 对象转换成可读的 JSON 对象吗?
你可以试试这个
const message = Buffer.from(payload, 'base64').toString('utf-8');
let parsedMessage = JSON.parse(message);
console.log(parsedMessage);
您可以使用 Busboy 在 Node.js 中将缓冲区文本转换为 JSON 格式。以下是如何操作的示例。您可以获取每个字段和值。
const Busboy = require("busboy");
exports.hello2 = functions.https.onRequest((req,res)=>{
res.header("Access-Control-Allow-Origin","*");
res.header("Access-Control-Allow-Headers","Origin,X-Requested-With,Content-Type,Accept");
const busboy = new Busboy({ headers: req.headers })
let Data = {}
console.log("Body",req.body);
console.log("rawBody",req.rawBody);
busboy.on("field", (field, val, fieldnameTruncated, valTruncated, encoding, mimetype) => {
console.log(`FieldName ${field}: ${val}.`)
Data[field] = val;
})
busboy.on('finish', () => {
console.log("Data",Data);
console.log("From",Data.from);
console.log("SPF",Data.SPF);
console.log("To",Data.to);
console.log("Subject",Data.subject);
res.status(200).send(Data);
});
busboy.end(req.body)
});
我有一个缓冲区文本,我从 SendGrid 入站解析 webhook 获得。
入站解析 Webhook 处理域或子域的所有传入电子邮件,解析内容和附件,然后将 multipart/form-data 发送到您选择的 URL。
发布的内容是缓冲区格式如下
<Buffer 2d 2d 78 64 6b 69 ... >
现在我需要将其转换为可读的 JSON 格式。 当我尝试将此缓冲区转换为 JSON 时,我得到的结果是这样的。
var json = JSON.parse(buf);
{ type: 'Buffer', data: [ 97, 98, 99 ] }
我需要如下例所示的内容。那就是actula格式。
当我尝试将缓冲区转换为字符串格式时,我得到了我需要的结果。但是,那是整个字符串格式。我需要 JSON 格式。因为我需要一些响应参数,如“发件人”、“收件人”信息。有什么方法可以将缓冲区转换为可读的 JSON 格式。
缓冲区 -> 字符串 -> JSON
你能帮我把 Buffer 对象转换成可读的 JSON 对象吗?
你可以试试这个
const message = Buffer.from(payload, 'base64').toString('utf-8');
let parsedMessage = JSON.parse(message);
console.log(parsedMessage);
您可以使用 Busboy 在 Node.js 中将缓冲区文本转换为 JSON 格式。以下是如何操作的示例。您可以获取每个字段和值。
const Busboy = require("busboy");
exports.hello2 = functions.https.onRequest((req,res)=>{
res.header("Access-Control-Allow-Origin","*");
res.header("Access-Control-Allow-Headers","Origin,X-Requested-With,Content-Type,Accept");
const busboy = new Busboy({ headers: req.headers })
let Data = {}
console.log("Body",req.body);
console.log("rawBody",req.rawBody);
busboy.on("field", (field, val, fieldnameTruncated, valTruncated, encoding, mimetype) => {
console.log(`FieldName ${field}: ${val}.`)
Data[field] = val;
})
busboy.on('finish', () => {
console.log("Data",Data);
console.log("From",Data.from);
console.log("SPF",Data.SPF);
console.log("To",Data.to);
console.log("Subject",Data.subject);
res.status(200).send(Data);
});
busboy.end(req.body)
});