When you import the contents of
testlist.json into the variable
require(), you are loading the file’s contents into memory. You will need to write back to the file after you have made changes to the
testlist variable if you want your modifications to persist. Otherwise, the changes that you make will be lost when the program’s process exits.
You can use the
writeFileSync() method from the
fs module, as well as
JSON.stringify(), to write
testlist back into the
const fs = require("fs"); let testlist = require("../testlist.json"); // Your code where you modify testlist goes here // Convert testlist to a JSON string const testlistJson = JSON.stringify(testlist); // Write testlist back to the file fs.writeFileSync("../testlist.json", testlistJson, "utf8");
Edit: You should also use the
readFileSync() method (also from the
fs module), and
JSON.parse() to perform the initial reading of the JSON file, rather than
// This line let testlist = require("../testlist.json"); // Gets replaced with this line let testlist = JSON.parse(fs.readFileSync("../testlist.json", "utf8"));
You have to use
JSON.parse as well as
fs.readFileSync because when you are reading the file, it is read as a string, rather than a JSON object.
CLICK HERE to find out more related problems solutions.