Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.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_Html_Json - Fatal编程技术网

Javascript 如何以表格格式显示json数组?

Javascript 如何以表格格式显示json数组?,javascript,jquery,html,json,Javascript,Jquery,Html,Json,我有一个json数组,格式如下: [ { id : "001", name : "apple", category : "fruit", color : "red" }, { id : "002", name : "melon", category : "fruit", color : "green" }, { i

我有一个json数组,格式如下:

[
    {
        id : "001",
        name : "apple",
        category : "fruit",
        color : "red"
    },
    {
        id : "002",
        name : "melon",
        category : "fruit",
        color : "green"
    },
    {
        id : "003",
        name : "banana",
        category : "fruit",
        color : "yellow"
    }
]
现在,我想用Javascript或jQuery解析并以表格式显示它。该表有四列,每列表示该数组中每个元素的每个属性。此表的第一行是这四个键的名称。其他行是这些键的值

我不知道如何编写JavaScript代码来实现这个功能。你能帮我一下吗?

var数据=[
var data = [
    {
        id : "001",
        name : "apple",
        category : "fruit",
        color : "red"
    },
    {
        id : "002",
        name : "melon",
        category : "fruit",
        color : "green"
    },
    {
        id : "003",
        name : "banana",
        category : "fruit",
        color : "yellow"
    }
];

for(var i = 0, len = data.length; i < length; i++) {
    var temp = '<tr><td>' + data[i].id + '</td>';
    temp+= '<td>' + data[i].name+ '</td>';
    temp+= '<td>' + data[i].category + '</td>';
    temp+= '<td>' + data[i].color + '</td></tr>';
    $('table tbody').append(temp));
}
{ id:“001”, 名称:“苹果”, 类别:“水果”, 颜色:“红色” }, { id:“002”, 名称:“甜瓜”, 类别:“水果”, 颜色:“绿色” }, { id:“003”, 名称:“香蕉”, 类别:“水果”, 颜色:“黄色” } ]; 对于(变量i=0,len=data.length;i
var jArr=[
{
id:“001”,
名称:“苹果”,
类别:“水果”,
颜色:“红色”
},
{
id:“002”,
名称:“甜瓜”,
类别:“水果”,
颜色:“绿色”
},
{
id:“003”,
名称:“香蕉”,
类别:“水果”,
颜色:“黄色”
}
]
var tableData='IdNameCategoryColor';
$.each(jArr、函数(索引、数据){
tableData+=''+数据.id+''+数据.name+''+数据.category+''+数据.color+'';
});
$('div').html(tableData);

使用
jquery$。每个
都可以访问所有数据,也可以像下面这样在表中设置

<table style="width: 100%">
     <thead>
          <tr>
               <th>Id</th>
               <th>Name</th>
               <th>Category</th>
               <th>Color</th>
           </tr>
     </thead>
     <tbody id="tbody">
     </tbody>
</table>

$.each(data, function (index, item) {
     var eachrow = "<tr>"
                 + "<td>" + item[1] + "</td>"
                 + "<td>" + item[2] + "</td>"
                 + "<td>" + item[3] + "</td>"
                 + "<td>" + item[4] + "</td>"
                 + "</tr>";
     $('#tbody').append(eachrow);
});

身份证件
名称
类别
颜色
$。每个(数据、功能(索引、项目){
var eachrow=“”
+“”+项目[1]+“”
+“”+项目[2]+“”
+“”+项目[3]+“”
+“”+项目[4]+“”
+ "";
$(“#tbody”).append(如下所示);
});

var obj=[
{
id:“001”,
名称:“苹果”,
类别:“水果”,
颜色:“红色”
},
{
id:“002”,
名称:“甜瓜”,
类别:“水果”,
颜色:“绿色”
},
{
id:“003”,
名称:“香蕉”,
类别:“水果”,
颜色:“黄色”
}
]
var tbl=$(“”).attr(“id”,“mytable”);
$(“#div1”)。追加(待定);

对于(var i=0;iIs)您是否尝试过任何东西?可能重复。该链接已由@Afshin Mehrabani在一年前提出。是否尝试过这是学校作业?这是我第二次看到这个确切的问题,只是一个不同的用户看到人们回答一个显示出零研究努力的问题,我很难过:(这个问题已经被问过很多次了。有人已经给出了答案,我正在使用
。每个
,它只显示最后一个值。
。append
在一个2嵌套的.each.
jQuery.each(arrayobj,function(key,value){jQuery.each(value,function(label,answer)中){display=''+label+''+answer+'''}});$('.'tbody').append(display);
头在哪里?嘿,NaYan,这对我不起作用..只显示最后一个数组值。我使用嵌套的.each.
jQuery.each(arrayobj,函数(key,value){jQuery.each(值,函数(label,answer){display=''+label+''+answer+'})$('#tbody').append(display);
禁止这样做,您的代码必须是这样的:jQuery.each(arrayobj,function(key,value){jQuery.each(value,function(label,answer){display='+label+'+answer+';$('#tbody').append(display);});
<table style="width: 100%">
     <thead>
          <tr>
               <th>Id</th>
               <th>Name</th>
               <th>Category</th>
               <th>Color</th>
           </tr>
     </thead>
     <tbody id="tbody">
     </tbody>
</table>

$.each(data, function (index, item) {
     var eachrow = "<tr>"
                 + "<td>" + item[1] + "</td>"
                 + "<td>" + item[2] + "</td>"
                 + "<td>" + item[3] + "</td>"
                 + "<td>" + item[4] + "</td>"
                 + "</tr>";
     $('#tbody').append(eachrow);
});
var obj=[
        {
            id : "001",
            name : "apple",
            category : "fruit",
            color : "red"
        },
        {
            id : "002",
            name : "melon",
            category : "fruit",
            color : "green"
        },
        {
            id : "003",
            name : "banana",
            category : "fruit",
            color : "yellow"
        }
    ]
    var tbl=$("<table/>").attr("id","mytable");
    $("#div1").append(tbl);
    for(var i=0;i<obj.length;i++)
    {
        var tr="<tr>";
        var td1="<td>"+obj[i]["id"]+"</td>";
        var td2="<td>"+obj[i]["name"]+"</td>";
        var td3="<td>"+obj[i]["color"]+"</td></tr>";

       $("#mytable").append(tr+td1+td2+td3); 

    }