Situación
Tengo un código que toma un archivo JSON local y lo analiza en un objeto. Esta parte funciona perfectamente.
Mi objetivo es crear una función que tome dos parámetros:
Problema
Agregué una variable (objectName) para pasar el nombre de la propiedad. También agregué [0].fx para poder llamar a los datos del primer objeto solamente. Cuando ejecuto mi código, obtengo Undefined.
¿Qué hice mal?
(en el código de ejemplo a continuación, mi objetivo era obtener "David")
const localDataObject = (fileName, objectName) => { const localData = path.join(__dirname, "../", fileName); fs.readFile(localData, (err, data) => { const objectData = JSON.parse(data); const fx = objectName; console.log(objectData[0].fx); }); }; localDataObject("./Family.json", "name");el primer objeto se ve así:
[ { "name": "David", "age": "24", "role": "Studet" }, ]La solución para su código es:
const localDataObject = (fileName, objectName) => { const localData = path.join(__dirname, "../", fileName); fs.readFile(localData, (err, data) => { const objectData = JSON.parse(data); const fx = objectName; console.log(objectData[0][fx]); }); }; localDataObject("./Family.json", "name");