Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

216
Vistas
Obtener valores de json en JavaScript

Si tengo algún json como este:

 { "dcf93893d83e4f28953f140b9cba1963":{ "foo":{ "client":"127.0.0.1", "id":"31971", "start time":1654131724.160335 }, "bar":{ "client":"127.0.0.1", "id":"23456", "start time":1654131900.997766 } } }

Descubrí cómo recorrerlo de esta manera:

 for (var key in json) { if (json.hasOwnProperty(key)) { console.log(json[key]) } }

¿Cómo puedo recorrer cada subelemento (foo y bar en este caso) y luego obtener una clave, por ejemplo, id?

cliente, id y hora de inicio son los únicos nombres de clave conocidos

Rendimiento esperado:

 31971 23456

EDITAR: El json proviene de buscar:

 setInterval(function () { fetch(<url>) .then(function (response) { return response.json(); }) .then(function (json) { for (var key in json) { if (json.hasOwnProperty(key)) { console.log(json[key]) } } }) }, 2000);
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Haz otro bucle y toma los valores internos por nombre de clave:

 const json = { "dcf93893d83e4f28953f140b9cba1963":{ "foo":{ "client":"127.0.0.1", "id":"31971", "start time":1654131724.160335 }, "bar":{ "client":"127.0.0.1", "id":"23456", "start time":1654131900.997766 } } } for (var key in json) { if (json.hasOwnProperty(key)) { //console.log(json[key]) for(var key2 in json[key]) { console.log(json[key][key2]["id"]) } } }

about 4 years ago · Juan Pablo Isaza Denunciar

0

Tienes que hacer un bucle en cada bucle. y guarde cada identificación en una matriz.

 var ids = [] for (var key in json) { if (json.hasOwnProperty(key)) { for(var obj in json[key]) { if (obj.id) ids.push(obj.id) } } }
about 4 years ago · Juan Pablo Isaza Denunciar

0

En lugar de iterar, podría simplemente obtener los valores del objeto con Object.values() y mapearlos en consecuencia usando flatMap() y map() :

 const data = { "dcf93893d83e4f28953f140b9cba1963": { "foo": { "client": "127.0.0.1", "id": "31971", "start time": 1654131724.160335 }, "bar": { "client": "127.0.0.1", "id": "23456", "start time": 1654131900.997766 } } }; const result = Object.values(data) .flatMap(v => Object.values(v)).map(({id}) => id); console.log(result);

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda