Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

224
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda