我有一個緩沖區文本,我從 SendGrid Inbound Parse webhook 獲取的位置。
Inbound Parse Webhook 處理域或子域的所有傳入電子郵件,決議內容和附件,然后將 multipart/form-data POST 到您選擇的 URL。
發布的內容采用如下緩沖格式
<Buffer 2d 2d 78 64 6b 69 ... >
現在我需要將其轉換為可讀的 JSON 格式。當我嘗試將此緩沖區轉換為 JSON 時,我得到了這樣的結果。
var json = JSON.parse(buf);
{ type: 'Buffer', data: [ 97, 98, 99 ] }
我需要像下面的例子一樣內容。那是actula格式。

當我嘗試將緩沖區轉換為字串格式時,我得到了我需要的結果。但是,在整個字串格式。我需要 JSON 格式。因為我需要一些引數來回應,例如“From”、“To”資訊。有什么方法可以將緩沖區轉換為可讀的 JSON 格式。
緩沖區 -> 字串 -> JSON
您能幫我將 Buffer 物件轉換為可讀的 JSON 物件嗎?
uj5u.com熱心網友回復:
您可以使用 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)
});
uj5u.com熱心網友回復:
你可以試試這個
const message = Buffer.from(payload, 'base64').toString('utf-8');
let parsedMessage = JSON.parse(message);
console.log(parsedMessage);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/314437.html
上一篇:pd.read_csv用于“一列”匯入:其中sep避免拆分為:“ParserError:錯誤標記資料。C錯誤:第4行預期有10個欄位,看到16”
