Quiero agregar mis datos, que son una matriz de formato de objeto, al archivo .json existente, así que escribí un código para él, pero en stackoverflow noté que muchos desarrolladores sugirieron antes de agregar al archivo json existente, primero lea el archivo y luego envíe nuevos datos a archivo json existente. Así que seguí esto e hice cambios de acuerdo con esto pero obtuve un error:
TypeError [ERR_INVALID_CALLBACK]: Callback must be a function. Received undefinedCódigo escrito en el nodo
newdata=[ { UserId: '11', UserName: 'harry', }, { UserId: 12, UserName: 'David', } ]; fs.readFile('results.json', function (err, data) { if(data === '') { json = JSON.parse(newdata); json.push(newdata); } fs.writeFile("results.json", JSON.stringify(json)); })Este error se debe a que está utilizando .writeFile de manera incorrecta.
Prueba algo como esto:
fs.writeFile('results.json', JSON.stringify(newData), function(err) { if (err) throw err; });Una breve explicación:
El ERR_INVALID_CALLBACK en el mensaje de error es la falta de la función informada en el último parámetro del ejemplo anterior.
fs.writeFile(<file>, <content>, <callback>)