Tengo un objeto JSON en el siguiente formato que quiero convertir en una matriz JSON. He intentado varias formas de lograr esto, pero no puedo tener éxito.
{ "name":{ "0":"mike", "1":"george", "2":"Andrew" }, "category":{ "0":"A", "1":"B", "2":"C" } }La salida sería así:
{ "0":{ "name":"mike", "category":"A" }, "1":{ "name":"george", "category":"B" }, "2":{ "name":"andrew", "category":"C" } }Soy nuevo en JSON. ¿Cómo puedo conseguir esto?
Puede hacer uso de Object.keys y Object.entries
const obj = { name: { "0": "mike", "1": "george", "2": "Andrew", }, category: { "0": "A", "1": "B", "2": "C", }, }; const props = Object.keys(obj); const result = props.reduce((acc, key) => { Object.entries(obj[key]).forEach(([k, v]) => { if (!acc[k]) acc[k] = Object.fromEntries(props.map((p) => [p, ""])); acc[k][key] = v; }); return acc; }, {}); console.log(result); /* This is not a part of answer. It is just to give the output full height. So IGNORE IT */ .as-console-wrapper { max-height: 100% !important; top: 0; }