[英]How to decode base64-encoded json object string in node js
我有一個 JSON object X
var X = {
'a': 'A',
'b': 'B'
}
我在客戶端 Javascript 中使用btoa()
對上述 object 進行編碼
var getEncryptedPayload = function(payload) { // payload is a JSON object
payload = JSON.stringify(payload)
payload = window.btoa(payload)
return payload;
}
我想在nodejs中解碼上面的編碼字符串。 我嘗試使用Buffer
進行解碼,但沒有得到結果。
var getRequestBody = function(request) {
const encodedRequestBody = request.body;
const decodedRequestBodyString = Buffer.from(encodedRequestBody, "base64");
const requestBodyObject = JSON.parse(decodedRequestBodyString);
return requestBodyObject;
}
但是,上面的代碼拋出了一個錯誤——
TypeError [ERR_INVALID_ARG_TYPE]:第一個參數必須是字符串類型或 Buffer、ArrayBuffer 或 Array 的實例或類似 Array 的 Object。 收到Object的實例
誰能給我建議一個解決方案?
Buffer.from
的結果是Buffer
的一個實例。 要將緩沖區實例轉換為可在JSON.parse
中使用的字符串,代碼需要首先調用Buffer.toString
以使其工作
const requestBodyObject = JSON.parse(decodedRequestBodyString.toString());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.