抱歉,如果标题没有意义。
基本上,在我的 case.JSON
文件中,我有以下内容:
{
"case": 0
}
我想要它,以便当代码运行时 case
的值增加 1
,并且我可以将其分配在任何地方(discord.js 示例)丰富嵌入我可以将 caseNumber 放在页脚/字段/描述处。
我很难理解这一点,因此我们将不胜感激。
我想在每次重新启动代码时使用 Node FS 将其保存到我的 JSON 文件中 所以我希望它每次都更新。
这些是我的previous attempts :
// console.log('Starting...')
var fs = require('fs');
var cases = fs.readFileSync('case.json');
var caseUp = cases + 1;
var translateCases = JSON.parse(caseUp);
var data = JSON.stringify(translateCases)
fs.writeFile('case.json', data, finished);
function finished(err){
console.log('All set.');
}
//////////////////////////////////////////////////// I've tried these 2 seperately ^ v
// console.log(translateCases);
console.log('Starting...')
var caseJSON = require('./case.json');
var caseTest = caseJSON.case[0 + 1]
caseTest = 0;
caseTest += 1;
// caseTestTranslate = JSON.parse(caseTest)
var actualNumber = JSON.stringify(caseTest)
fs.writeFile('case.json', actualNumber, finished)
function finished(err){
console.log('All good.')
}
console.log(caseTest)
最佳答案
你就快到了!仔细查看订单:
var cases = fs.readFileSync('case.json'); // is a string
var caseUp = cases + 1; // string + number => string, which is not what you wanted
// for this case, you can parse the filecontents first with JSON.parse on the file contents
或者,您在下面的代码中做了什么
var caseJSON = require('./case.json'); // now caseJSON is directly parsed as an object
// so caseJSON.case contains the value you want to increment
使用这种方法,它看起来像这样:
var fs = require('fs');
console.log('Starting...')
var caseJSON = require('./case.json');
var caseJSONIncremented = { case: caseJSON.case + 1 }
var fileContent = JSON.stringify(caseJSONIncremented)
fs.writeFile('case.json', fileContent, finished)
function finished(err){
console.log('All good.')
}
关于javascript - 如何使用算术更改 JSON 文件的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64489440/