Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

361
Vistas
¿Cómo reescribo el objeto JSON en un archivo usando el sistema de archivos en Node Js?

Me encontré con las operaciones de lectura y escritura usando fs en Node Js.

Mi escenario es como, tengo un archivo que tiene los datos como,

 [ { "Pref":"Freedom", "ID":"5545" }, { "Pref":"Growth", "ID":"8946545" } ]

Tengo que reemplazar el Pref del elemento cuyo ID es 5545 usando Node js.

Cómo puedo hacerlo. Gracias

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Para hacer lo que quieres, necesitas:

  1. leer datos JSON del archivo con fs.readFile()
  2. analizar el JSON con JSON.parse()
  3. encontrar el objeto correcto en la matriz
  4. cambiar el objeto
  5. serialice el objeto de nuevo a JSON con JSON.stringify()
  6. escribe el archivo con fs.writeFile()

pero esto no es tan simple como puede parecer, porque tendrás que:

  • agregue bloqueo a las escrituras para que nunca haga dos escrituras al mismo tiempo
  • agregue bloqueo a las lecturas para que nunca lea mientras la escritura está en progreso
  • manejar JSON incorrecto
  • manejar casos de objetos que no se pueden serializar
  • evite bloquear operaciones (aquellas con "Sync" en su nombre) en cualquier otro lugar que no sea en el primer tic del bucle de eventos

Teniendo en cuenta todo eso, debería considerar usar una base de datos para almacenar cualquier dato que cambie. Algunas bases de datos como Mongo, Postgres o Redis deben ejecutarse como una aplicación independiente en el mismo servidor o en uno diferente. Algunas bases de datos integradas como SQLite no necesitan un proceso independiente y se pueden ejecutar directamente en su aplicación.

No es que sea imposible escribir en archivos JSON y luego leer esos archivos según sea necesario, pero la cantidad de trabajo que tendría que hacer para sincronizar el acceso a los datos sin bloquear accidentalmente el bucle de eventos en el proceso es mucho. más difícil que simplemente usar cualquier base de datos según lo previsto.

over 4 years ago · Santiago Trujillo Denunciar

0

Tienes algunos datos:

 const data = [ { "Pref":"Freedom", "ID":"5545" }, { "Pref":"Growth", "ID":"8946545" } ]

Primero, debemos encontrar el elemento que desea cambiar (use [0] para seleccionar solo el primero en caso de que haya varios elementos con ID 5545:

 const objectToChange = data.filter(item => item.ID === "5545")[0]

¡Y luego cámbialo!

 objectToChange['Pref'] = "Liberty"

Podemos ver el cambio reflejado en el objeto de datos:

 console.log(data) // [{ // ID: "5545", // Pref: "Liberty" // },{ // ID: "8946545", // Pref: "Growth" // }]
over 4 years ago · Santiago Trujillo Denunciar

0

1- Cargar archivo: let json = JSON.parse(fs.readFileSync('file.json', 'utf-8'));

2- Actualizar contenido:

 json = json.map(el => { if(el.ID === "5545") { el.Pref = "TEST"; } return el; });

3- ¿Guardar de nuevo tal vez?

fs.writeFileSync('test.json', JSON.stringify(json), 'utf-8');

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda