gpt4 book ai didi

javascript - 在 Node.js 中顺序解析 JSON

转载 作者:行者123 更新时间:2023-12-03 12:44:13 25 4
gpt4 key购买 nike

我正在尝试在 Node.js 中解析一些 JSON。 JSON 来自 .json 文件。我认为由于 Node 的异步特性,我错过了一些东西。但是,我不确定如何超越它。目前,我正在尝试以下代码:

var results = null;

// Read the .json file
var file = __dirname + '/config.json';
fs.readFile(file, 'utf8', function (err, data) {
if (err) {
return;
}

results = JSON.parse(data);
console.log(results.count);
});

// iterate through keys in results and print them out one at a time.

每当我运行此代码时,最后一行 console.log 都会打印“未定义”。因此,我什至还没有尝试过迭代这些键。但是,我知道我正在正确加载 .json 文件,因为当我执行以下操作时,我看到了预期的结果:

results = JSON.parse(data, function(k, v) {
console.log(k + ' : ' + v);
});

这就是为什么我怀疑它与 Node 的异步性质有关。但是,我不确定如何解决这个问题。

感谢您的帮助。

最佳答案

您的 JSON 不是具有 count 属性的对象。

<小时/>
results = JSON.parse(data, function(k, v) {
console.log(k + ' : ' + v);
});

打印内容,因为回调是“reviver”,并接收每个键和值。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse

如果你这样做

results = JSON.parse(data);
for(var k in results) {
console.log(k + ' : ' + results[k]);
}

你会看到同样的事情。

关于javascript - 在 Node.js 中顺序解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23400993/

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