gpt4 book ai didi

javascript - NodeJs 读取 JSON 文件

转载 作者:行者123 更新时间:2023-11-30 07:56:33 25 4
gpt4 key购买 nike

我想用 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 中以错误的方式存储了值。

关于javascript - NodeJs 读取 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38325503/

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