What is the best way to generate such a JSON?

let main = { "data": [{ "data": { "name": "zzzzzz" }, "children": [{ "data": { "name": "Test1" } }, { "data": { "name": "Test2" } }, { "data": { "name": "Test3" } } ] }, { "data": { "name": "zzzzzzz" }, "children": [{ "data": { "name": "Test1" } }, { "data": { "name": "Test2" } }, { "data": { "name": "Test3" } } ] } ] } 

Made his own version, but he is far from optimal. Thank!

 let arrr = []; let arrr2 = []; let objData3 = {}; let objData4 = {}; for (let itemz in arr) { let a = arr[itemz]; let objNameInData = {}; let objNameInData2 = {}; let startObj = {}; startObj.name = a.ServiceName; objNameInData.name = startObj; objNameInData2.name = "zzzzz" let objDataInChildren = {}; let objDataInData = {}; objDataInChildren.data = objNameInData.name; arrr.push(objDataInChildren); objData3.data = objNameInData2; objData3.children = arrr; arrr2.push(objData3) objData4.data = arrr2; } console.log(JSON.stringify(objData4, null, 4)) 

    1 answer 1

    Somehow I saw it myself -

    Option 1

     const createJSON = count => Object.create(Object.prototype, { data: { value: Array.from(Array(count).keys(),e=>Object.create(Object.prototype,{ data: { value: Object.create(Object.prototype,{ name: { value: "zzzzzz", writable: true, enumerable: true, configurable: true } }), writable: true, enumerable: true, configurable: true }, children: { value: Array.from(Array(3).keys(),(e,i)=>Object.create(Object.prototype,{ data: { value: Object.create(Object.prototype,{ name: { value: `Test ${i+1}`, writable: true, enumerable: true, configurable: true } }), writable: true, enumerable: true, configurable: true } })), writable: true, enumerable: true, configurable: true } })), writable: true, enumerable: true, configurable: true } }); let main = createJSON(2); console.log(main) 

    Option 2

     const createJSON = count => Object.create(Object.prototype, { data: { value: Array.from(Array(count).keys(),e=>JSON.parse('{"data":{"name":"zzzzzz"},"children":[{"data":{"name":"Test1"}},{"data":{"name":"Test2"}},{"data":{"name":"Test3"}}]}')), writable: true, enumerable: true, configurable: true } }); let main = createJSON(2); console.log(main)