我正在使用 NodeJs 读取 json 文件
我的代码非常基本,
var obj = require("./sample.json");
console.log(obj[0]);
Sample.json 文件包含这样的字符串化 JSON,
"[{\"sample\":\"good\",\"val\":76159}]"
但是,console.log 输出是“[”,而不是变量中的第一个元素。我也尝试过像这样长时间打开文件。
var obj;
fs.readFile('sample.json', 'utf8', function (err, data) {
if (err) throw err;
obj = JSON.parse(data);
console.log(obj[0]);
});
但这里的输出也是'['为什么json文件没有正确解析?我该如何修复它?
提前致谢。
您的文件应包含:
[{"sample":"good","val":76159}]
如果它包含
"[{\"sample\":\"good\",\"val\":76159}]"
然后它被编码两次。它仍然是有效的 JSON,因为它是一个字符串,但此 JSON 并不代表 JavaScript 对象:
[{
sample:"good",
val:76159
}]
但是带有内容的字符串[{"sample":"good","val":76159}]
.
如果添加第二个解析(第一个解析是由require
):
var obj = JSON.parse(require("./sample.json"));
console.log(obj[0]);
然后您将看到记录了正确的信息。
所以你最初的问题是你以错误的方式存储了值./sample.json
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)