Javascript 从JSON对象动态创建嵌套列表

Javascript 从JSON对象动态创建嵌套列表,javascript,jquery,json,Javascript,Jquery,Json,我想要实现的是,从一个JSON对象(多级)开始,如下所示(示例): 在不知道属性名称或级别的情况下(因为并非对象的所有元素都具有相同的属性),创建一个基本的嵌套HTML列表,如(其中键为粗体,值为普通) 我在这里尝试了一些从JSON创建列表的解决方案,但是这些解决方案需要属性的名称或知道对象的级别,在我的例子中,这个对象将动态生成 是否可以从未知的JSON对象创建HTML列表?这是我的尝试。欢迎提出建议 函数createHTML(json,iArray){ var html=''; for(j

我想要实现的是,从一个JSON对象(多级)开始,如下所示(示例):

在不知道属性名称或级别的情况下(因为并非对象的所有元素都具有相同的属性),创建一个基本的嵌套HTML列表,如(其中键为粗体,值为普通)

我在这里尝试了一些从JSON创建列表的解决方案,但是这些解决方案需要属性的名称或知道对象的级别,在我的例子中,这个对象将动态生成


是否可以从未知的JSON对象创建HTML列表?

这是我的尝试。欢迎提出建议

函数createHTML(json,iArray){ var html='
    '; for(json中的var键){ if(json[key]=='object'){ html++='
  • '+(!isArray?''+key+'':'')+'
  • '+createHTML(json[key],(json[key]数组实例?1:0)); }否则{ html+='
  • '+json[key]+'
  • '; } } 返回html+“
”; } var jsonData=[ { “几何学”:{ “地点”:{ “lat”:37.3860517, “液化天然气”:-122.0838511 }, “视口”:{ “东北”:{ “lat”:37.4508789, “液化天然气”:-122.0446721 }, “西南”:{ “lat”:37.3567599, “液化天然气”:-122.1178619 } } }, “名称”:“山景”, “范围”:“谷歌”, “数据”:{ “customKey1”:“customValue1”, “customKey2”:{ “customSubKey1”:{ “CustomSubKey1”:“keyvalue” } }, }, “类型”:[ “地点”, “政治” ] } ]; document.getElementById('output').innerHTML=createHTML(jsonData,true)
这是一个很好的解决方案,实际上效果很好!只需添加
html+='
  • '+key+'
    • '+json[key]+'
  • else
  • 上的code>;所以它也显示了密钥名。谢谢你,亚当!
    [
        {
            "geometry": {
                "location": {
                    "lat": 37.3860517,
                    "lng": -122.0838511
                },
                "viewport": {
                    "northeast": {
                        "lat": 37.4508789,
                        "lng": -122.0446721
                    },
                    "southwest": {
                        "lat": 37.3567599,
                        "lng": -122.1178619
                    }
                }
            },
            "name": "Mountain View",
            "scope": "GOOGLE",
            "data": {
                "customKey1": "customValue1",
                "customKey2": {
                    "customSubKey1": {
                        "customSubSubKey1": "keyvalue"
                    }
                },
            },
            "types": [
                "locality",
                "political"
            ]
        }
    ]