Me dan un JSON (estructura de árbol JSON) y estoy creando una API que insertará todos los datos a la vez en la base de datos (organizaciones con relaciones). la organización puede tener múltiples padres e hijos.
El aspecto JSON es algo como esto:
{ "org_name": "organisation", "childrens": [ { "org_name": "company tree", "childrens": [ { "org_name": "company one" }, { "org_name": "company two" }, { "org_name": "company three" } ] }, { "org_name": "Big organisation", "childrens": [ { "org_name": "company one" }, { "org_name": "company two" }, { "org_name": "company four" }, { "org_name": "company three", "childrens": [ { "org_name": "smal farm" } ] } ] } ] } my database schema (which I'm thinking) id | org_name | level | parent *level - tells at which level we are since this is a tree and helps to plot relations¿Cómo inserto estos registros en la base de datos con sus relaciones? Necesito hacer esto en javascript.
const maintree = [{ "org_name": "organisation", "childrens": [ { "org_name": "company tree", "childrens": [ { "org_name": "company one" }, { "org_name": "company two" }, { "org_name": "company three" } ] }, { "org_name": "Big organisation", "childrens": [ { "org_name": "company one" }, { "org_name": "company two" }, { "org_name": "company four" }, { "org_name": "company three", "childrens": [ { "org_name": "smal farm" } ] } ] } ] }]; function recursiveBuild(tree, level, parent) { for(const item of tree) { if(item.org_name) { let html = document.getElementById(`test`).innerHTML; html += `orgname: ${item.org_name}, level: ${level}, parent: ${parent} <br/>`; document.getElementById(`test`).innerHTML = html; if(item.childrens) { recursiveBuild(item.childrens, level+1, item.org_name); } else return } } } recursiveBuild(maintree, 0, ""); <div id="test"> </div>Puede usar una función recursiva como esta para insertar sus registros según su base de datos. Aquí expliqué el uso de HTML y agregué una cadena después de cada salto de línea para que su código construya una estructura plana como una tabla.