Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

228
Views
¿Cómo cambio el formato de estos datos JSON creando una clave a partir de una sección de los datos?

Me gustaría reformatear los datos tomando una sección de una entrada JSON. Por ejemplo, tengo datos JSON:

 { "AXD:Condor": 12, "AXD:Pelican": 20, "GPR:Deer": 15, "GPR:Owl": 34 }

y me gustaría reformatearlo a algo como esto:

 { AXD:{ Condor: 12, Pelican:20 } GPR:{ Deer: 15, Owl: 34 } }

Me disculpo si esta pregunta es obvia o está mal redactada, soy bastante nuevo en el uso de JSON. Gracias por tomarse el tiempo para responder.

over 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Usando Object.entries(data) obtenemos una matriz con los pares clave-valor del objeto de data . Luego iteramos a través de esta matriz usando reduce, donde [key, value] es el par del objeto y a es el acumulador cuyo valor inicial es un objeto vacío {} (verifique el final de la función) y será el resultado.

Ahora, para cada iteración, dividimos nuestro valor clave y mantenemos la primera parte que queremos usar como nuestra nueva clave. Luego verificamos si el objeto acumulador ya contiene esa clave de una iteración anterior, y si no, la agregamos y le asignamos un objeto vacío. Por último, asignamos el antiguo par clave-valor dentro de esta clave recién asignada para que podamos tener el resultado anidado que queremos.

 const data = { "AXD:Condor": 12, "AXD:Pelican": 20, "GPR:Deer": 15, "GPR:Owl": 34 } let res = Object.entries(data).reduce((a, [key, value]) => { let outerKey = key.split(':')[0]; if (!a[outerKey]) { a[outerKey] = {}; } a[outerKey][key] = value; return a; }, {}); console.log(res);

over 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!