Me gustaría obtener solo un tipo de datos de un archivo JSON usando JS.
el campo que quiero obtener es "nombre".
el formato JSON es:
{"countries": {"country":[ {"id":"1","name":"Europe","active":"on","dir":"yes"}, {"id":"2","name":"Africa","active":"on","dir":"yes"}, {"id":"3","name":"North America","active":"on","dir":"yes"}, ]} } el resultado requerido es:
Europa
África
América del norte
Gracias por la ayuda
Esto no tiene nada que ver con JSON. Su código representa un objeto literal/inicializador (javascript) .
Desde ese objeto, puede asignar la propiedad de nombre de cada entrada de la matriz anidada de countries.country .
const myObj = { "countries": {"country":[ {"id":"1","name":"Europe","active":"on","dir":"yes"}, {"id":"2","name":"Africa","active":"on","dir":"yes"}, {"id":"3","name":"North America","active":"on","dir":"yes"}, ]} }; const countryNames = myObj.countries.country.map( c => c.name ); console.log(countryNames);La respuesta aceptada guarda un paso de la mía - anotado, gracias.
let obj = {"countries": {"country":[ {"id":"1","name":"Europe","active":"on","dir":"yes"}, {"id":"2","name":"Africa","active":"on","dir":"yes"}, {"id":"3","name":"North America","active":"on","dir":"yes"}, ]} } let objArray = obj.countries.country; let names = objArray.map(item => item['name']); console.log(names);Devuelve una matriz de nombres ['Europa', 'África', 'América del Norte']
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
let countryNames = data.countries.country.filter(item => item.name !== '')O
const countryNames = [] data.countries.country.forEach(item => { countryNames.push(item.name) }) console.log(countryNames)