【发布时间】:2015-03-06 08:39:32
【问题描述】:
我有下面的 nodejs 代码读取baseline.json 文件的内容并解析它。然后我尝试显示所有计算机 ID 和 LastReportTime。我看到一个奇怪的行为,它不会打印所有 ID 和 LastReportTime。此外,每次运行它的结果都不同。 json 对我来说很大,所以我上传到 Json Blob 上。
Nodejs 代码
var fs = require('fs');
try {
var json = JSON.parse(fs.readFileSync('baseline.json'));
for (var obj in json) {
if (json.hasOwnProperty(obj)) {
console.log(obj);
console.log("\n \n");
if (obj == "BESAPI") {
for (var prop in json[obj]) {
console.log(prop);
if (prop == "Computer") {
// loop over Computer dataseries
for (var id in json[obj][prop]) {
console.log(prop + ':' + json[obj][prop][id].ID);
console.log(prop + ':' + json[obj][prop][id].LastReportTime);
}
}
}
}
}
}
} catch (err) {
console.error(err);
}
原始 JSON
【问题讨论】:
-
你能从
baseline.json发几行吗?另外:脚本的输出也可能有所帮助。 -
@amenthes 我将原始 json 上传到 gist.github.com/anonymous/f27f75879e48c5387a03
-
你至少可以漂亮地打印 JSON :-/
标签: javascript json node.js