Enumeré recursivamente un objeto json anidado. Cuando registro en la consola, obtengo mis datos de una manera que dificulta saber dónde comienza o termina un conjunto de objetos.
¿Cómo puedo formatear la respuesta?
const obj = { fullName: 'Ram Kumar', age: 31, gender: male } }, fullName: 'Ranbir Singh', age: 22, gender: male } }, function printAllVals(obj) { for (let prop in obj) { if (typeof obj[prop] === "object") { printAllVals(obj[prop]) } else { console.log(prop + ':' + obj[prop]); } } }Estoy obteniendo:
fullName:Ram Kumar age: 31 gender: male fullName:Ranbir Singh age: 22 gender: maleLo que quiero es algo como esto. Cualquier cosa para formatear o separar los objetos para mayor claridad o fácil comprensión:
fullName:Ram Kumar age: 31 gender: male --- fullName:Ranbir Singh age: 22 gender: maleSu objeto no parece válido, por lo que agregué una subclave "secundaria" para iterar hacia abajo.
Antes de llamar a la función recursiva, imprima un separador de línea.
const printAllVals = (obj) => { for (let prop in obj) { if (typeof obj[prop] === 'object') { console.log('---'); // Print line, before the child. printAllVals(obj[prop]) } else { console.log(`${prop}: ${obj[prop]}`); } } } const obj = { fullName: 'Ram Kumar', age: 31, gender: 'male', child: { // sub-key? fullName: 'Ranbir Singh', age: 22, gender: 'male' } }; printAllVals(obj); .as-console-wrapper { top: 0; max-height: 100% !important; }