Saltar al contenido

Escribir / agregar datos en un archivo JSON usando Node.js

Solución:

Si este archivo JSON no se vuelve demasiado grande con el tiempo, debería intentar:

  1. Cree un objeto JavaScript con la matriz de tabla en él

    var obj = {
       table: []
    };
    
  2. Agregue algunos datos, por ejemplo:

    obj.table.push({id: 1, square:2});
    
  3. Conviértalo de un objeto a una cadena con JSON.stringify

    var json = JSON.stringify(obj);
    
  4. Use fs para escribir el archivo en el disco

    var fs = require('fs');
    fs.writeFile('myjsonfile.json', json, 'utf8', callback);
    
  5. Si desea agregarlo, lea el archivo JSON y conviértalo de nuevo en un objeto

    fs.readFile('myjsonfile.json', 'utf8', function readFileCallback(err, data){
        if (err){
            console.log(err);
        } else {
        obj = JSON.parse(data); //now it an object
        obj.table.push({id: 2, square:3}); //add some data
        json = JSON.stringify(obj); //convert it back to json
        fs.writeFile('myjsonfile.json', json, 'utf8', callback); // write it back 
    }});
    

Esto funcionará para datos de hasta 100 MB de manera efectiva. Por encima de este límite, debe utilizar un motor de base de datos.

ACTUALIZAR:

Cree una función que devuelva la fecha actual (año + mes + día) como una cadena. Cree el archivo llamado esta cadena + .json. el módulo fs tiene una función que puede verificar la existencia del archivo llamado fs.stat (ruta, devolución de llamada). Con esto, puede verificar si el archivo existe. Si existe, use la función de lectura; si no lo está, use la función de creación. Utilice la cadena de fecha como ruta porque el archivo se denominará como fecha de hoy + .json. la devolución de llamada contendrá un objeto de estadísticas que será nulo si el archivo no existe.

Pruebe el siguiente programa. Es posible que esté esperando este resultado.

var fs = require('fs');

var data = {}
data.table = []
for (i=0; i <26 ; i++){
   var obj = {
       id: i,
       square: i * i
   }
   data.table.push(obj)
}
fs.writeFile ("input.json", JSON.stringify(data), function(err) {
    if (err) throw err;
    console.log('complete');
    }
);

Guarde este programa en un archivo javascript, digamos, square.js.

Luego ejecute el programa desde el símbolo del sistema usando el comando node square.js

Lo que hace es simplemente sobrescribir el archivo existente con un nuevo conjunto de datos, cada vez que ejecuta el comando.

Codificación feliz.

debe leer el archivo, cada vez que desee agregar una nueva propiedad al json, y luego agregar las nuevas propiedades

var fs = require('fs');
fs.readFile('data.json',function(err,content){
  if(err) throw err;
  var parseJson = JSON.parse(content);
  for (i=0; i <11 ; i++){
   parseJson.table.push({id:i, square:i*i})
  }
  fs.writeFile('data.json',JSON.stringify(parseJson),function(err){
    if(err) throw err;
  })
})
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *