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

366
Visualizações
jQuery .each bucle de función a través de objetos anidados JSON

He tenido dificultades para tratar de llegar a una clave/valor específico que está anidado en objetos JSON.

Esta es la respuesta de la API

 response: { estabelecimento: { atividades_secundarias: [{ id: "6209100", secao: "J", divisao: "62", grupo: "62.0", classe: "62.09-1", subclasse: "6209-1/00", descricao: "Suporte", contribuinte: false }, { id: "7020400", secao: "M", divisao: "70", grupo: "70.2", classe: "70.20-4", subclasse: "7020-4/00", descricao: "Atividades", contribuinte: false }, { id: "8211300", secao: "N", divisao: "82", grupo: "82.1", classe: "82.11-3", subclasse: "8211-3/00", descricao: "Serviços", contribuinte: false } ] } }

¿El OBJETIVO es devolver todos los elementos descricao del objeto atividades_secundarias y almacenarlos como una cadena?

En este caso: "Soporte/Atividades/Servicos"...algo así

Las siguientes son las cosas que he probado:

  • Acceso descricao por cadena de clave
 $.each(response.estabelecimento.atividades_secundarias,function(index, item) { $.each(index, function (key, val) { console.log(val["descricao"]); }); });
  • Accediendo al valor de descricao usando this operador
 $.each(response.estabelecimento.atividades_secundarias, function(index, item) { $.each(index.id, function (key, val) { console.log(this.descricao); }); });

Creo que es algo muy sutil que me estoy perdiendo.

Gracias

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Usa $.map() para iterar a través de atividades_secundarias .

figura yo

 // ⬇️ This is the path to "atividades_secundarias" ⬇️ $.map(data.response.estabelecimento.atividades_secundarias, function(x, i) { // "x" will be the current object ↗️

En cada iteración, use Object.keys() en cada objeto (llame a cada objeto x ) dentro de la matriz. Obtendrá una matriz de las claves de cada objeto.

Figura II

 Object.keys(x) /* [ "id", "secao", "divisao", "grupo", "classe", "subclasse", "descricao", "contribuinte" ] *///An array of keys from each object

A continuación, busque la clave descricao en cada objeto con .includes() y devuelva su valor x.descricao O null si el objeto no tiene esa clave en particular.

Figura III

 /* [...<<array of keys>>]*/.includes('descricao') /* if "descricao" is found...*/ ? /* return it's value */ x.descricao /* Otherwise return */ : null

$.map() devuelve una matriz, por lo que si desea una cadena, simplemente use .join() .

Figura IV

 /*...*/ ).join('/') // "Suporte/Atividades/Serviços" 

 const data = { response: { estabelecimento: { atividades_secundarias: [{ id: "6209100", secao: "J", divisao: "62", grupo: "62.0", classe: "62.09-1", subclasse: "6209-1/00", descricao: "Suporte", contribuinte: false }, { id: "7020400", secao: "M", divisao: "70", grupo: "70.2", classe: "70.20-4", subclasse: "7020-4/00", descricao: "Atividades", contribuinte: false }, { id: "8211300", secao: "N", divisao: "82", grupo: "82.1", classe: "82.11-3", subclasse: "8211-3/00", descricao: "Serviços", contribuinte: false }] } } }; const descricaos = $.map(data.response.estabelecimento.atividades_secundarias, function(x, i) { return Object.keys(x).includes('descricao') ? x.descricao : null; }).join('/'); console.log(descricaos);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

about 4 years ago · Juan Pablo Isaza Relatório

0

Si desea crear una matriz de valores de "descripción", simplemente puede hacer esto:

 let descricaoItemsArr = []; $.each(response.estabelecimento.atividades_secundarias, function(index, item) { descricaoItemsArr.push(item.descricao); });

No necesita un segundo bucle $.each.

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