簡體   English   中英

從MySQL / JSON數據創建JSON分層樹

[英]Create a JSON hierarchical tree from MySQL/JSON data

我有一個非常大的JSON對象,我需要進入一棵樹,但是我不確定該怎么做。 我正在將VueJs與內置了Treeview的Vuetify一起使用,但是我不知道如何為樹准備好數據。

這是我的數據... https://tpcrm.totalprocessing.com/api/get-channels

我需要的是(顯然沒有包括所有數據)

 items: [ { name: "Adboom", id: "8ac9a4cb64b143910164b1b2ab0305db" children: [ { name: "Jaydox LTD", id: "8ac9a4cb64b143910164b1b3009b05e2" children: [ { name: "beautifullyyoungskin.net" id: "8ac9a4cb64b143910164b1b8004b063a" }, { name: "thinbodydiet.com" id: "8ac9a4cb64b143910164b1b74af10630" }, { name: "youthfulskincare.net" id: "8ac9a4cb64b143910164b1b77ba70634" } ] } ] }, { name: "Adult", id: "8ac9a4c96489324601649354068034ab" children: [ { name: "Occonti Ltd", id: "8ac9a4c965a8666d0165af279ca228dd" children: [ { name: "datinginthe.eu (3d Secure)" id: "8ac9a4cd65a866700165b47a25c74e61" }, { name: "datinginthe.eu (Non-3d)" id: "8ac9a4cd65a866700165b478f0574e48" }, { name: "datinginthe.eu - ST (Non-3d)" id: "8ac9a4ca65a8a0670165d34366d53fc9" }, { name: "datinginthe.eu ST (3d Secure)" id: "8ac9a4cb66aafd790166ad040a170b68" } ] } ] } ] 

通過對nameid使用相同的模式,您可以使用一組關鍵部分,並根據其查找id和分組。

 var data = [{ divisionName: "Adboom", divisionId: '000', merchantName: "Jaydox LTD", merchantId: '020', entityName: "beautifullyyoungskin.net", entityId: '500' }, { divisionName: "Adboom", divisionId: '000', merchantName: "Jaydox LTD", merchantId: '020', entityName: "thinbodydiet.com", entityId: '501' }, { divisionName: "Adboom", divisionId: '000', merchantName: "Jaydox LTD", merchantId: '020', entityName: "youthfulskincare.net", entityId: '502' }, { divisionName: "Adult", divisionId: '100', merchantName: "Occonti Ltd", merchantId: '040', entityName: "datinginthe.eu (3d Secure)", entityId: '503' }, { divisionName: "Adult", divisionId: '100', merchantName: "Occonti Ltd", merchantId: '040', entityName: "datinginthe.eu (Non-3d)", entityId: '504' }, { divisionName: "Adult", divisionId: '100', merchantName: "Occonti Ltd", merchantId: '040', entityName: "datinginthe.eu - ST (Non-3d)", entityId: '505' }, { divisionName: "Adult", divisionId: '100', merchantName: "Occonti Ltd", merchantId: '040', entityName: "datinginthe.eu ST (3d Secure)", entityId: '506' }], keys = ["division", "merchant", "entity"], result = data .reduce((r, o) => { keys.reduce((t, k) => { var temp = (t.children = t.children || []).find(p => p.id === o[k + 'Id']); if (!temp) { t.children.push(temp = { name: o[k + 'Name'], id: o[k + 'Id'] }); } return temp; }, r); return r; }, {}) .children; console.log(result); 
 .as-console-wrapper { max-height: 100% !important; top: 0; } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM