如何动态创建JSON数组?

时间:2019-05-06 10:23:29

标签: javascript arrays json dynamic

我在实现json数组时遇到问题。我正在使用树视图插件,其中treeobject是静态的,并且我希望插件中的子元素是动态创建的。我是这个JSON和数组的新手,在实现此功能时遇到问题。

我尝试将迭代方法用于循环。我面临的问题是,在UI端传入的数据中,同一父级具有多个子级值,因此它要重复父级名称。

for (let i = 1; i <= List.length; i++) {

            for (let value of Object.values(List[i])) 
             {
                let MarketId = value.MarketId;
                let Name = value.name;
                let CheckedValue = value.checked;
                let marketValue=value.marketList;
                var sector_id;
                var market_id;
                var market_name;
                   for (let value of Object.values(marketValue))
                     { 
                        sector_id=value.sectorId;
                           geo_market_id=value.MarketId;
                        market_name=value.marketName;   

                     }
                let treeObject = [{
                        text: name,
                        checked: CheckedValue,
                        id: MarketId, //                        

                        //otherDatas:"Other Datas", // Optional
                         children:[ // Required
                         {  
                            text:market_name,
                            id:market_id ,   /* Required */
                            otherDatas:sector_id,
                            checked:CheckedValue
                         } 
                        // { text:market_id /* Required */ }

                     ]
                },
                ];

                nextCount = nextCount == undefined ? 1 : ++nextCount;
                var myTree = new TreeView(treeObject, {

                    // always shows the checkboxes
                    showAlwaysCheckBox: true,

                    // is foldable?
                    fold: true,

                    // opens all nodes on init
                    openAllFold: false

                }, nextCount);

                document.getElementById("TreeView").appendChild(myTree.root);
             // }
           } 
      }
    }

这里有一个父母,可能有5-6个孩子,所以在我的结果中,它是重复父母的名字。任何可以动态创建此treeObject的方式?

0 个答案:

没有答案