如何在JavaScript/Node.js中生成带格式的JSON转Base64结果
如何在Node.js中生成带缩进格式的JSON的Base64编码?
你当前代码里的JSON.stringify(templates)默认生成的是无缩进、无换行的压缩版JSON字符串,而你想要的是带空格和换行的格式化版JSON,两者原始文本不同,所以Base64编码结果自然不一致。
解决方法很简单,JSON.stringify支持第三个参数用于格式化输出,指定缩进的空格数即可:
const templates = [ { "name": "next-hover-base", }, { "name": "next-hover-base", }, ]; // 第三个参数传入2,表示用2个空格缩进格式化JSON const formattedJson = JSON.stringify(templates, null, 2); const inBase64Format = Buffer.from(formattedJson).toString("base64"); console.log(inBase64Format);
运行这段代码后,生成的Base64结果就会和你需要的输出一致。你也可以根据需求调整第三个参数(比如传入\t使用制表符缩进),只要和目标格式化规则匹配即可。
内容的提问来源于stack exchange,提问作者Abhinav
相关产品推荐
相关产品推荐

