{ "Centers": { "Athens": [ { "name":"name1", "lat":"", "lon":"", "address":"address1", "tel":"", "email":"", "link":"" }, { "name":"name2", "lat":"", "lon":"", "address":"address2", "tel":"", "email":"", "link":"" } ] } }Tengo este archivo JSON y quiero obtener la dirección de un elemento que especifico usando su nombre. Algo como esto:
alert( stores.Centers.Athens["name"=="name1"].address );¿Hay alguna forma de lograr esto o debo rehacer mi archivo JSON?
Editar:
.find(x => x.name === 'name1') no funciona. Devuelve 'indefinido'. findIndex() también devuelve '-1'. Sospecho que es porque es un archivo JSON y no una lista de objetos, lo que significa que las claves de propiedad están entre comillas dobles.
Puede lograr fácilmente el resultado usando find y optional chaining
stores.Centers.Athens.find((o) => o.name === "name1")?.address const stores = { Centers: { Athens: [ { name: "name1", lat: "", lon: "", address: "address1", tel: "", email: "", link: "", }, { name: "name2", lat: "", lon: "", address: "address2", tel: "", email: "", link: "", }, ], }, }; const address = stores.Centers.Athens.find((o) => o.name === "name1")?.address; console.log(address);