我想要做的是,当代码获得一个新项目时,它会查看 JSON 文件,看看是否存在一个在其
name
属性中具有匹配值的现有对象。如果存在,它将对象
count
属性增加 1,否则创建一个新对象,并将其附加到 JSON 文件的列表中。这是我为此编写的代码。逻辑似乎很合理(虽然它没有经过测试)但我无法弄清楚如何读/写数据。
let raw = fs.readFileSync("../database/items.json");
let itemList = JSON.parse(raw);
let found = false;
for (let item of itemList.averages) {
if (item.name === this.state.data.item_name) {
found = true;
item.count += 1;
if (!found) {
let newItem = {
name: this.state.data.item_name,
count: 1,
itemList.averages.push(newItem);
let newRaw = JSON.stringify(itemList);
fs.writeFileSync("../database/items.json", newRaw);
JSON 文件:
"averages": [
"name": "Example",
"count": 1,
原文由 SirArchibald 发布,翻译遵循 CC BY-SA 4.0 许可协议