详情
每当我运行JS文件并尝试console.log(DB.other.Clay)
时,它都会打印undefined。我使用内置的Node JS模块fs
,因为我被告知它在大Json文件中表现更好。当我尝试访问DB.other.Clay.buildings
时,它也会抛出错误
代码
const fs = require('node:fs');
fs.readFile('./conquestDB/res.json', 'utf8', (err, data) => {
if(err){
console.log(err);
return;
}
DB = JSON.parse(data)
console.log(DB.other.Clay)
})
Json文件(高度压缩,原始文件超过40万行
{
"other": {
"Clay": {
"walls": {...},
"buildings": {
"mine": 838,
"missile_silo": 2,
"anti_missile_wall": 611,
"silo_pad_mk2": 8,
"silo_pad": 8,
"sign": 69,
"storage": 462,
"lab": 299,
"house": 91,
"camp": 594,
"rift": 8,
"walls": 37681,
"fortifier": 115
},
"count": 61983,
"locations": {...}
}
}
}
我不明白为什么我无法访问这些JSON对象,我对JavaScript中的JSON非常陌生,所以请彻底解释一下。
1条答案
按热度按时间8iwquhpp1#
如何调试
沿着数据的“树”往下走
从这个开始:
确保长的键列表包含“其他”
如果是,则进入下一步:
检查键的列表是否包括“Clay”。
我怀疑你有一个额外的层某处,你没有注意到。