Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

360
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda