使用JavaScript将数组附加到JSON文件

使用JavaScript将数组附加到JSON文件,javascript,Javascript,现在我没有其他选择了。我觉得一切都很好。仍然不起作用 我正在为自己做一个小食品应用程序来了解我吃了多少。我创建了名为ruoat.JSON的JSON文件,我将通过应用程序在其中添加食物。我之前用PHP做过这件事,它非常简单。但是现在用JavaScript来做这件事让我毛骨悚然 尝试了一些不同的方式从谷歌找到,没有任何有效的解决方案 问题在哪里 function addfood() { const food_name = document.getElementById('food-name

现在我没有其他选择了。我觉得一切都很好。仍然不起作用

我正在为自己做一个小食品应用程序来了解我吃了多少。我创建了名为
ruoat.JSON
的JSON文件,我将通过应用程序在其中添加食物。我之前用PHP做过这件事,它非常简单。但是现在用JavaScript来做这件事让我毛骨悚然

尝试了一些不同的方式从谷歌找到,没有任何有效的解决方案

问题在哪里

function addfood() {

    const food_name = document.getElementById('food-name').value;
    const food_prot = document.getElementById('food-prot').value;
    const food_badfat = document.getElementById('food-badfat').value;
    const food_fat = document.getElementById('food-fat').value;
    const food_carbs = document.getElementById('food-carbs').value;
    const food_salt = document.getElementById('food-salt').value;


    var json_array = '{"name": "' + food_name + '","prot": '+ food_prot + ',"badfat": ' + food_badfat + ',"fat": ' + food_fat + ',"carbs": ' + food_carbs + ',"salt": ' + food_salt + '}';

    // var json_push = JSON.parse(json_array); // Muuntaa stringin JSON objektiksi


    const fs = require("fs");
    let ruokalista = fs.readFileSync("../json/ruoat.json","utf-8"); // Read JSON file

    let ruoka = JSON.parse(ruokalista); // JSON file -> Array

    ruoka.push(json_array); // Add object json_array to array ruoka

    ruokalista = JSON.stringify(ruoka); // Array back to JSON

    fs.writeFileSync("../json/ruoat.json",ruokalista,"utf-8"); // Save modified JSON file

}

我可以看到您正在使用
fs
模块,它是Node.js的一部分。Nodejs不支持
文档
对象,因为它被设计为在浏览器之外运行。除此之外,如果您不做文件业务,而是在浏览器中运行它,它将起作用。不要手动构建JSON字符串2
json_数组
不是数组您无法在浏览器中使用JS访问文件。