【发布时间】:2022-01-24 20:07:34
【问题描述】:
仍然是 JSON 的新手,虽然我搜索了网络并创建了一个函数来创建一个 init 文件(如果不存在),但我将空白以进行搜索并检索新现有文件的数据或我如何添加新条目或更新新条目
到目前为止,我可以读取文件并在控制台日志中导出 resits,因此我知道分配工作,它是一个全局变量,因此数据应该保留在读取文件循环之外,但是当我稍后尝试访问它时使我将从中提取数据并用于稍后更新的本地数组读取为未定义。
fs.readFile(path, 'utf8', (error, data) => {
if(error){
console.log(error);
return;
}
//console.log(JSON.parse(data));
JSONData = JSON.parse(data);
for (let i = 0; i < JSONData.length; i++) {
console.log(i+": ["+JSONData[i].unique+"] "+JSONData[i].name);
}
});//fs.readFile
var playerKey = "KuroTO";
playerKey = playerKey.toLowerCase();
for (let i = 0; i < JSONData.length; i++) {
if (JSONData[i].unique.toLowerCase() == playerKey){
console.log("["+i+"] "+JSONData[i].unique.toLowerCase()+": "+playerKey);
PlayerCard1.push(JSONData[i].userid);//0
PlayerCard1.push(JSONData[i].username);//1
PlayerCard1.push(JSONData[i].unique);//2
PlayerCard1.push(JSONData[i].name);//3
PlayerCard1.push(JSONData[i].avatarurl);//4
PlayerCard1.push(JSONData[i].level);//5
PlayerCard1.push(JSONData[i].Rank);//6
PlayerCard1.push(JSONData[i].henshined);//7
PlayerCard1.push(JSONData[i].Strength);//8
PlayerCard1.push(JSONData[i].Perception);//9
PlayerCard1.push(JSONData[i].Endurance);//10
PlayerCard1.push(JSONData[i].Wisdom);//11
PlayerCard1.push(JSONData[i].Intelligence)//12;
PlayerCard1.push(JSONData[i].Luck)//13;
PlayerCard1.push(JSONData[i].Agility)//14;
PlayerCard1.push(JSONData[i].Flexability)//15;
PlayerCard1.push(JSONData[i].RatedSpeed)//16;
};//if unique matches
};//for
这是我试图做的伪代码概念 if (JSONData.stringify.unique == {SearchUID}){toonname = JSONData.stringify.name;}
据我了解,你不能真正追加,只是用新数据重新重写文件,我想我可以自己解决这个问题,一旦我能弄清楚如何将文件变成一个数组,我可以像上面那样搜索
【问题讨论】:
标签: node.js json discord.js file-access