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

133
Visualizações
Convierta JSON a un formato diferente usando javascript

Tengo el JSON, consulte a continuación y necesito ayuda para convertir y cambiar el formato que se menciona a continuación. Quiero mover los datos a diferentes columnas (formato mencionado a continuación)

JSON tengo

 const data = [ { "2":{ "value":1.2 }, "3":{ "values":{ "10.0":1.3 } }, "4":{ "value":1.6 }, "key":"abc", "count":2 }, { "2":{ "value":2.2 }, "3":{ "values":{ "10.0":1.2 } }, "4":{ "value":5.6 }, "key":"xyz", "count":22 }, ]

Quiero cambiar lo anterior al siguiente formato:

formato esperado

 const data = [ { col1: "1.2", col2: "1.3", col3: "1.6", col4: "abc", col5: "2" }, { col1: "2.2", col2: "1.2", col3: "5.6", col4: "xyz", col5: "22" }, ]
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Creo que esto es lo que estás buscando.

Asumí que solo hay propiedades de value o values y en values solo necesitas la primera. Si mi suposición es correcta, aquí está su fragmento a continuación.

 const data = [ { '2': { value: 1.2, }, '3': { values: { '10.0': 1.3, }, }, '4': { value: 1.6, }, }, { '2': { value: 2.2, }, '3': { values: { '10.0': 1.2, }, }, '4': { value: 5.6, }, }, ]; const result = data.map((item) => { return Object.values(item) .reduce((acc, { value = null, values = null }, index) => { if (value) return { ...acc, [`col${index + 1}`]: String(value) }; if (values) { const [firstItem = null] = Object.values(values); if (firstItem) return { ...acc, [`col${index + 1}`]: String(firstItem) }; } }, {}); }); console.log(result);

about 4 years ago · Juan Pablo Isaza Relatório

0

Aquí hay una solución que aplana las entradas json arbitrariamente anidadas, asumiendo solo que cada columna tiene solo un valor primitivo. Aprovecha el hecho de que las matrices en js son realmente solo objetos con claves numéricas.

 const data = [ { '2': { value: 1.2, }, '3': { values: { '10.0': 1.3, }, }, '4': { value: 1.6, }, }, { '2': { value: 2.2, }, '3': { values: { '10.0': 1.2, }, }, '4': { value: 5.6, }, }, ]; const flattenedValue = value => { while (typeof value == 'object' && value != null) for (const v of Object.values(value)) value = v; return value; }; const result = data.map(row => Object.fromEntries( Object.values(row).map(flattenedValue).map((v, i) => [`col${i + 1}`, v]) ) ); 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