简体   繁体   English

json嵌套ul li jquery / javascript

[英]json to nested ul li jquery / javascript

I am creating dynamic json using javascript from a drag and drop builder, Now I am unable to convert the json to Nested Ul li. 我正在使用拖放生成器中的javascript创建动态json,现在无法将json转换为Nested Ul li。 The json is below. json在下面。

[
  {
    "id": "11",
    "name": "BALANCE"
  },
  {
    "id": "p1",
    "name": "Conditions",
    "nodes": [
      {
        "id": "p1-13",
        "name": "SPINAL CORD INJURY",
        "nodes": [
          {
            "id": "p1-13-12",
            "name": "STROKE",
            "nodes": [
              {
                "id": "p1-13-12-17",
                "name": "REACHING"
              }
            ]
          }
        ]
      }
    ]
  },
  {
    "id": "p1-16",
    "name": "STRETCHES"
  },
  {
    "id": "p1-11",
    "name": "BALANCE"
  }
]

You can create a function and call recursively if there is nodes in item. 您可以创建一个function然后在项目中有nodes递归调用。

 var json = [{"id":"11","name":"BALANCE"},{"id":"p1","name":"Conditions","nodes":[{"id":"p1-13","name":"SPINAL CORD INJURY","nodes":[{"id":"p1-13-12","name":"STROKE","nodes":[{"id":"p1-13-12-17","name":"REACHING"}]}]}]},{"id":"p1-16","name":"STRETCHES"},{"id":"p1-11","name":"BALANCE"}]; function createUl(data, $elm) { data.forEach(function(item) { var $li = $('<li><span>' + item.name + '</span></li>'); $elm.append($li); if (item.nodes) { var $ul = $('<ul></ul>'); $li.append($ul); createUl(item.nodes, $ul); } }); }; createUl(json, $('ul')); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul></ul> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM