es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Leer y editar un valor específico de un archivo json en Javascript.

Quería intentar desarrollar mi propia base de datos con JS y Json. Desafortunadamente, me encontré con problemas allí.

¿Cómo leo un contenido específico del archivo Json?
Busqué en Google y obtuve esto:

fs.readFile('./databases/' + dbName + ".json", (err, data) => {
     if (err) throw err;
     content = JSON.parse(data);
     console.log(content)
});

Pero luego solo obtengo esta salida:

{
  members: [
    { Username: 'User-1', Password: 'lol' },
    { Username: 'User-2', Password: 'lol' }
  ]
}

Proceso finalizado con el código de salida 0

Y no uno específico, por ejemplo, solo la contraseña del User-1 del archivo json:

{
  "members": [
    {
      "Username": "User-1",
      "Password": "lol"
    },
    {
      "Username": "User-2",
      "Password": "lol"
    }
  ]
}

(Realmente solo quiero usar archivos json para este proyecto)

Gracias por ayudar 🙂

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para leer contenido específico de un archivo JSON, puedes recorrer el objeto JSON y acceder a la propiedad específica que deseas. En el ejemplo dado, si quieres acceder a la contraseña del Usuario-1, primero puedes acceder al array de miembros, luego recorrer cada objeto para encontrar aquel con el Nombre de usuario: “Usuario-1”, y luego acceder a su propiedad de Contraseña.

    Aquí tienes un ejemplo de fragmento de código que logra esto:

    const fs = require('fs');
    
    fs.readFile('./databases/nombreBaseDeDatos.json', (err, data) => {
      if (err) throw err;
      const contenido = JSON.parse(data);
    
      // Encontrar el objeto con Nombre de usuario: "Usuario-1"
      const usuario1 = contenido.miembros.find(miembro => miembro.NombreUsuario === "Usuario-1");
    
      // Acceder a su propiedad de Contraseña
      console.log(usuario1.Contraseña);
    });
    

    Este código utiliza el método find para recorrer el array de miembros y encontrar el objeto con Nombre de usuario: “Usuario-1”. Una vez que encuentra el objeto, lo almacena en la variable usuario1. Luego, simplemente accede a la propiedad de Contraseña de usuario1 y la muestra en la consola.

    Ten en cuenta que este código asume que solo hay un objeto con Nombre de usuario: “Usuario-1” en el archivo JSON. Si hay múltiples objetos con el mismo nombre de usuario, solo devolverá la Contraseña del primero que encuentre. Si necesitas acceder a todos ellos, deberás modificar el código en consecuencia.

Comments are closed.