NodeJs读取JSON文件

2024-05-15

我正在使用 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(使用前将#替换为@)

NodeJs读取JSON文件 的相关文章

随机推荐