Así que tengo que conseguir el primer objeto de esta lista:
{ "2489": { "status": { "idstatus": "3", "status": "Sold" } }, "2490": { "status": { "idstatus": "3", "status": "Sold" } }}
No sé de antemano los ID ['2489'] y ['2490']. A veces responde solo uno de estos ID, a veces 3 o más.
¿Cómo puedo obtener ['2490'].status.idstatus sin saber ['2490']?
Hay varias maneras de hacer esto. Si está ejecutando un entorno JS moderno, puede usar Object.keys u Object.values .
Suponiendo que su objeto de respuesta JSON es una variable llamada res , puede construir una matriz dinámica de ID como esta:
const ids = Object.keys(res) // ["2489", "2490", ...]Si no le importan los ID en absoluto y desea una matriz de todos los objetos internos, intente esto:
const items = Object.values(res) // [ { "status" : ... }, ... ]puede hacerlo usando Object.values y map o si necesita la clave, puede usar Object.entries
const data = { "2489": { "status": { "idstatus": "3", "status": "Sold" } }, "2490": { "status": { "idstatus": "3", "status": "Sold" } } } const statusIds = Object.values(data).map(d => d.status.idstatus) console.log(statusIds) const statusIdAndKey = Object.entries(data).map(([k, d]) => [k, d.status.idstatus]) console.log(statusIdAndKey)