Tengo una matriz, ubicaciones:
{ "locations":[ "{\"location_id\":\"1\",\"location_name\":\"Main Office\"}", "{\"location_id\":\"6\",\"location_name\":\"Secondary\"}" ] }Estoy tratando de recorrer esta matriz para mostrar la identificación/nombre de la ubicación, pero sigo recibiendo errores indefinidos.
for (var i = 0; i < locations.length; ++i) { alert(locations[i].location_id); } Si hago alert(locations[i]) , puedo ver el contenido de la matriz individual para ese índice, pero aparentemente no tengo forma de ir más allá.
Siento que me estoy perdiendo algo increíblemente simple y agradecería cualquier ayuda. Todo lo que he leído sugiere que debería poder obtener el valor de la matriz usando el bucle for [i].
Enumeraré todos los problemas notables en su consulta
String , por lo tanto, las locations[i].location_id no funcionarían ya que el operador "punto" espera un objetoSugerencias
let locations = [ { location_id: 1, location_name: 'Main office'}, { location_id: 2, location_name: 'any name' }, ];definirlo como:
let locations = [ { location_id: 1, location_name: 'Main office'}, { location_id: 2, location_name: 'any name' }, ]; locations.forEach(location => { alert(location.location_id); });O si sus datos están en formato json:
let json = '{ "locations": [ { "location_id": 3, "location_name": "Name" } ]}'; const data = JSON.parse(json); data.locations.forEach(location => { console.log(location.location_id); });