【发布时间】:2021-04-08 08:22:04
【问题描述】:
以下代码适用于 Node.js v14.16.0。但是,我找不到任何说明 JSON.parse() 接受 Buffer 作为参数的文档。这是预期的行为(尚未记录)还是我做错了什么?
const fs = require('fs');
const dataPayload = fs.readFileSync('data.json'); // a buffer
const data = JSON.parse(dataPayload);
console.log(data); // { name: 'Jane', age: 24 } -> an object
data.json的内容:
{
"name": "Jane",
"age": 24
}
spec 没有提及任何与此相关的内容。
【问题讨论】:
-
Afaik,如果传递的对象不是字符串,JSON.parse() 首先调用
.toString()。例如,一个常见的初学者错误是将对象传递给 JSON.parse(),这将导致 JSON.parse 抱怨意外字符o,因为它试图解析"[object Object]"
标签: javascript node.js json