How do I add to an existing json file in node.js

Solution 1:

If you want the file to be valid JSON, you have to open your file, parse the JSON, append your new result to the array, transform it back into a string and save it again.

var fs = require('fs')

var currentSearchResult = 'example'

fs.readFile('results.json', function (err, data) {
    var json = JSON.parse(data)
    json.push('search result: ' + currentSearchResult)

    fs.writeFile("results.json", JSON.stringify(json))
})

Solution 2:

In general, If you want to append to file you should use:

fs.appendFile("results.json", json , function (err) {
   if (err) throw err;
   console.log('The "data to append" was appended to file!');
});

Append file creates file if does not exist.

But ,if you want to append JSON data first you read the data and after that you could overwrite that data.

fs.readFile('results.json', function (err, data) {
    var json = JSON.parse(data);
    json.push('search result: ' + currentSearchResult);    
    fs.writeFile("results.json", JSON.stringify(json), function(err){
      if (err) throw err;
      console.log('The "data to append" was appended to file!');
    });
})