Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从json数据创建表_Javascript_Jquery_Json_Handlebars.js - Fatal编程技术网

Javascript 如何从json数据创建表

Javascript 如何从json数据创建表,javascript,jquery,json,handlebars.js,Javascript,Jquery,Json,Handlebars.js,JSON部分: { "1": {"JAN": {"ID": "1","Name": "Jim"}}, "2": {"FEB": {"ID": "2","Name": "Jack" } }, "Idname" : "2", "Date" : "01/28/2014", "State" : "1" } <table class="table"> <thead> <tr> <th>{{JA

JSON部分:

{
    "1": {"JAN": {"ID": "1","Name": "Jim"}},
    "2": {"FEB": {"ID": "2","Name": "Jack" } },
    "Idname" : "2",
    "Date" : "01/28/2014",
    "State" : "1"
}
<table class="table">
<thead>
    <tr>
        <th>{{JAN}}</th>
    </tr>
</thead>                                
<tbody>
    <tr>
        <td>{{ID}}</td>
        <td>{{Name}}</td>
    </tr>
</tbody>
</table>
我需要上面的json以以下格式创建一个表

HTML部分:

{
    "1": {"JAN": {"ID": "1","Name": "Jim"}},
    "2": {"FEB": {"ID": "2","Name": "Jack" } },
    "Idname" : "2",
    "Date" : "01/28/2014",
    "State" : "1"
}
<table class="table">
<thead>
    <tr>
        <th>{{JAN}}</th>
    </tr>
</thead>                                
<tbody>
    <tr>
        <td>{{ID}}</td>
        <td>{{Name}}</td>
    </tr>
</tbody>
</table>

{{JAN}}
{{ID}
{{Name}}

我需要json中的表头和表体。此外,整个json中只有一部分将显示为表,其余部分将显示为普通字段

您需要使用JSON.parse来解析来自服务器的数据

 s1 =  // required data store it here
 name: '1',
 data: JSON.parse("[" + s1 + "]")
试试这个方法

for (var i in json) {
    if (typeof (json[i]) == "object") {
        var month = json[i];
        var headd='';
        var bodyy='';
        for (var j in month) {
            headd='<th>'+j+'</th>';
            var tbody = month[j];
            bodyy='<tr><td>'+ tbody.ID + '</td><td>' + tbody.Name+'</td><tr>';

        }
        $("#head_t").append(headd)
        $("#body_t").append(bodyy)
    }
}
for(json中的变量i){
if(typeof(json[i])=“object”){
var month=json[i];
var headd=“”;
变量bodyy='';
用于(var j,以月为单位){
头D=''+j+'';
var tbody=月[j];
bodyy=''+tbody.ID+''+tbody.Name+'';
}
$(“#head_t”)。追加(headd)
$(“#body_t”)。追加(bodyy)
}
}

您尝试过使用JSON.parse()吗?它将为您提供所需的数据。然后你就可以进入AD或TBODI,我想你必须查看handlebar.js,并使用JSON.parse解析来自服务器的数据。你能详细解释一下JSON.parse吗,因为我不了解它。
“1”:{“JAN”:
就是
“1”
将保持不变还是会改变?我更新了json部分。请告诉我解决方案。检查这里的新问题