如何从json获取多个列数据

时间:2014-06-28 09:03:23

标签: javascript jquery json

我有一个json文件。文件格式如下:

var data={"name":[[1,"kate"],[2,"david"]], "age":[[1,34],[2,25]],"sex":[[1,"female"],[2,"male"]]};

如何读取这样的数据格式。 如果我直接使用

obj = JSON.parse(data);

可以识别像“名字”或“年龄”这样的字符名称。数据文件很大,如何知道这些数据中有多少条目。 我想得到的名字值是“kate”,id是“1”,年龄是34,性别是“女性”。 在html中它应该显示:

id  name age sex
1   kate  34  female
2   david 25  male

如何解析json文件以获取数据

2 个答案:

答案 0 :(得分:2)

小插图制作表格

jsFiddle

var data = {"name":[[1,"kate"],[2,"david"]], "age":[[1,34],[2,25]],"sex":[[1,"male"],[2,"female"]]};
var nameFields = data.name;
var age = data.age;
var sex = data.sex;
var html = "";
for(var v in nameFields){
    html += "<tr><td>"+nameFields[v][0] +"</td><td>"+  nameFields[v][1] + "</td><td>"+ age[v][1] +"</td><td> " + sex[v][1] +"</td></tr>";
}  
$("#tblBody").html(html);

答案 1 :(得分:0)

你可以像这样制作你想要的桌子:

<table>
    <thead>
        <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Age</th>
            <th>Sex</th>
        </tr>
    </thead>
    <tbody></tbody>
</table>

JS

for (var i = 0; i < data['name'].length; i++) {
    $('tbody').append('<tr/>')
    .append('<td>' + data['name'][i][0] + '</td><td>' + data['name'][i][1] + '</td><td>' + data['age'][i][1] + '</td><td>' + data['sex'][i][1]);
}

将输出

ID  Name    Age Sex
1   kate    34  male
2   david   25  female

<强> fiddle