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

121
Vistas
¿Podemos organizar los datos Json en función de un campo?

Tengo un campo común en cada objeto JSON, es decir, Field A . Y tengo campos variables según los datos del servicio, es decir, ( campo variable A y campo variable B ).

Tengo datos JSON en este formato a continuación:

 [{ "Field A": "ABC", "Variable Field A": "66" }, { "Field A": "DEF", "Variable Field A": "70" }, { "Field A": "GHI", "Variable Field A": "135" }, { "Field A": "JKL", "Variable Field A": "19" }, { "Field A": "ABC", "Variable Field B": "-729" }, { "Field A": "GHI", "Variable Field B": "962" }, { "Field A": "DEF", "Variable Field B": "334" }, { "Field A": "JKL", "Variable Field B":"241" }]

Necesito juntar los campos variables según el campo común (aquí Campo A), de modo que todos los campos variables para un campo común estén disponibles dentro de un objeto. ¿Cómo puedo hacer que mi JSON se convierta en algo como esto?

 [{ "Field A": "ABC", "Variable Field A": "66", "Variable Field B": "-729" }, { "Field A": "DEF", "Variable Field A": "70", "Variable Field B": "334" }, { "Field A": "GHI", "Variable Field A": "135", "Variable Field B": "962" }, { "Field A": "JKL", "Variable Field A": "19", "Variable Field B": "241 }]
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Decodifique su json en la estructura de datos adecuada y vuelva a crear su conjunto de objetos utilizando el algoritmo adecuado para la coincidencia.

Algo como:

  1. toma el primer objeto
  2. guardar el campo A
  3. iterar otros objetos y verificar el campo A
  4. si encuentra otro Campo A, agregue el nuevo "Campo variable B" en la nueva estructura del objeto con el valor encontrado o el nuevo "Campo variable A" con el valor encontrado.
  5. elimine los elementos encontrados en la matriz original (para evitar duplicaciones)
  6. próxima iteración

Si está utilizando javascript para eso, verifique el método .hasOwnProperty("propertyName") que verifica si existe un campo en el objeto. Debería ser útil para verificar si tiene que obtener el "Campo variable A" o el "Campo variable B" del objeto.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Esta es una gran aplicación para la función de reducción de matrices. Prueba esto:

 const data = [] // your JSON data data.reduce((acc,item)=>({ ...acc, [item['Field A']]: {...acc[item['Field A']],...item} }),{})

El resultado:

 { ABC: { 'Field A': 'ABC', 'Variable Field A': '66', 'Variable Field B': '-729' }, DEF: { 'Field A': 'DEF', 'Variable Field A': '70', 'Variable Field B': '334' }, GHI: { 'Field A': 'GHI', 'Variable Field A': '135', 'Variable Field B': '962' }, JKL: { 'Field A': 'JKL', 'Variable Field A': '19', 'Variable Field B': '241' } }
about 4 years ago · Juan Pablo Isaza Denunciar

0

puedes hacer algo como esto

 const group = (data, field) => Object.values(data.reduce((res, item) => { const existing = res[item[field]] || {} return { ...res, [item[field]]: {...existing, ...item} } }, {})) const data = [{ "Field A": "ABC", "Variable Field A": "66" }, { "Field A": "DEF", "Variable Field A": "70" }, { "Field A": "GHI", "Variable Field A": "135" }, { "Field A": "JKL", "Variable Field A": "19" }, { "Field A": "ABC", "Variable Field B": "-729" }, { "Field A": "GHI", "Variable Field B": "962" }, { "Field A": "DEF", "Variable Field B": "334" }, { "Field A": "JKL", "Variable Field B":"241" }] const result = group(data, 'Field A') 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