gpt4 book ai didi

javascript - 如何在 Node js 中解码 base64 编码的 json 对象字符串

转载 作者:行者123 更新时间:2023-12-05 00:31:09 39 4
gpt4 key购买 nike

我有一个 JSON 对象 X

var X = {
'a': 'A',
'b': 'B'
}
我正在使用 btoa() 对上述对象进行编码在客户端 Javascript
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]: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received an instance of Object


谁能给我建议一个解决方案?

最佳答案

来自 Buffer.from 的结果是 Buffer 的一个实例.将该缓冲区实例转换为可在 JSON.parse 中使用的字符串代码需要调用Buffer.toString首先让它工作

const requestBodyObject = JSON.parse(decodedRequestBodyString.toString());

关于javascript - 如何在 Node js 中解码 base64 编码的 json 对象字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67852868/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com