在javascript中从JSON对象中检索标签

时间:2014-08-08 13:10:03

标签: javascript jquery json

说我有JSON数据如下:

var db=[
        {"name":"John Doe","age":25},
        {"name":"John Doe 2","age":21}
       ]

我知道如何使用js / jquery从JSON对象中检索数据。我需要的是获取标签的值,即我想从对象中检索“名称”和“年龄”。我实际上并不想检索值“John Doe”和25(我已经可以这样做了),而是我想要标签。

假设json对象有大约5个数据,每个数据包含10个字段。我需要动态地以表格形式显示json,我已经可以做了。由于json可以是任何一组值,我不知道要放在表的<th></th>单元格中的标签。所以我需要一种方法来获得标签。

使用伪代码:

var db=[
        {"name":"John Doe","age":25},
        {"name":"John Doe 2","age":21}
       ]    
for i in db{
    for j in db[i]{
          console.log(db[i][j].label+":"db[i][j])
    }  
}
//db[i][j].label doesn't really work

输出应为:

姓名:John Doe

年龄:25

姓名:John Doe

年龄:21

是否有javascript或jquery函数可以执行此操作或其他方法来检索所需的数据?

3 个答案:

答案 0 :(得分:4)

您已经提取了属性名称(您正在呼叫&#34;标签&#34;)。你需要它来从对象中获取属性的值。

所以,它只是j

console.log(j + ":" + db[i][j]);

答案 1 :(得分:1)

您可以查看使用jQuery.each函数:

$.each(db, function(index, record) {
    $.each(record, function(key, value) {
        console.log(key + ': ' + value);
    });
});

答案 2 :(得分:0)

加载后,JSON数据只是一个对象(在您的情况下是一个对象数组)。您可以迭代每个单个对象的属性/键。

e.g。

$.each(db, function(index, object) {
    for (var property in object) {
        var val = object[property];
        // do stuff
        console.log("property: " + property + ", val: " + val);
    }
});

JSFiddle:http://jsfiddle.net/TrueBlueAussie/5hkr8k2x/