如何轻松地将多维JSON解析为html?

use*_*053 6 jquery json multidimensional-array

我想轻松地将json解析为html.我有一个多维的json.所以我想轻松解析这个到HTML.任何插件或任何简单的代码可用吗?以下是我的json文件.

    [
        {
            "country": "India",
            "state": [
                {
                    "name": "Delhi",
                    "capital": "New Delhi"
                },
                {
                    "name": "Tamilnadu",
                    "capital": "Chennai"
                }
            ]
        },
        {
            "country": "USA",
            "state": [
                {
                    "name": "Alabama",
                    "capital": "Montgomery"
                },
                {
                    "name": "Alaska",
                    "capital": "Juneau"
                }
            ]
}
]
Run Code Online (Sandbox Code Playgroud)

HTML是这样的.

<ul>
        <li>India</li>
 <ul>
        <li>State1 :capital</li>
        <li>State2 :capita2</li>

</ul>
        <li>USA</li>
 <ul>
        <li>State1 :capital</li>
        <li>State2 :capita2</li>

</ul>

</ul>
Run Code Online (Sandbox Code Playgroud)

我希望获得这样的输出哪种是获得此输出的最佳和最简单的方法?

sha*_*eer 7

你可以使用jquery jput插件(http://plugins.jquery.com/jput/)

http://jsfiddle.net/mse255ko/1/

var data=[
        {
            "country": "India",
            "state": [
                {
                    "name": "Delhi",
                    "capital": "New Delhi"
                },
                {
                    "name": "Tamilnadu",
                    "capital": "Chennai"
                }
            ]
        },
        {
            "country": "USA",
            "state": [
                {
                    "name": "Alabama",
                    "capital": "Montgomery"
                },
                {
                    "name": "Alaska",
                    "capital": "Juneau"
                }
            ]
}
];

$(document).ready(function(){
	//loading json data initally 
	$('#maindiv').jPut({
		jsonData:data,
		name:'template1'
	});
});  
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://shabeer-ali-m.github.io/jPut/js/jput.min.js"></script>
<div id="maindiv">
    <div jput="template1">
    <ul>
        <li>{{country}}</li>
        <ul>
            <li>State 1 Name : {{state.0.name}}, Capital : {{state.0.capital}}</li>
             <li>State 2 Name : {{state.1.name}}, Capital : {{state.1.capital}}</li>
        </ul>
    </ul>
    </div>    
</div>
Run Code Online (Sandbox Code Playgroud)


小智 5

请使用jquery来循环JSON数据,这里在每次迭代中连接变量html值,这样你就可以附加到任何DIV.

var data =    [
        {
            "country": "India",
            "state": [
                {
                    "name": "Delhi",
                    "capital": "New Delhi"
                },
                {
                    "name": "Tamilnadu",
                    "capital": "Chennai"
                }
            ]
        },
        {
            "country": "USA",
            "state": [
                {
                    "name": "Alabama",
                    "capital": "Montgomery"
                },
                {
                    "name": "Alaska",
                    "capital": "Juneau"
                }
            ]
}
];
jQuery(document).ready(function(){
                       
var html = "";
    jQuery.each(data, function(i,v){
      var temp = JSON.parse(JSON.stringify(v)); 
      html += "<ul><li>"+temp.country+"</li></ul>"; 
      jQuery.each(temp.state, function(j,val){ 
         html += "<li>" + val.name +"</li>"; 
      }); 
    });
    $("#result-div").html(html);
  });
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="result-div"></div>
Run Code Online (Sandbox Code Playgroud)