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

4

假设我有以下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函数或其他方法来检索所需的数据?

一旦加载了JSON数据,它就是一个对象。您可以遍历该对象的属性/键。 - iCollect.it Ltd
可能是 https://dev59.com/9nVC5IYBdhLWcg3wsTfv 的重复问题。 - vivek_ganesan
可能是重复的问题:Javascript:获取JSON数组中所有现有键 - Patrick Q
我建议在你的第一次迭代中使用for(i=0;i<yourarray.length;i++),因为这个原因,请阅读https://dev59.com/ZXRB5IYBdhLWcg3wz6ed。 - NEWBIE
3个回答

5

您已经获取了属性名称(称为“label”)。 您需要它来从对象中获取属性的值。

所以,只需使用j即可。

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

1
一旦加载了JSON数据,它就是一个对象(在您的情况下是对象数组)。您可以遍历每个单独对象的属性/键。
例如:
$.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/

JSFiddle是一个在线代码编辑和演示的网站,可以用来展示HTML、CSS和JavaScript代码。在这个网站上,你可以创建自己的"演示",并将其与其他人共享。这使得你能够轻松地向别人展示你的代码,并让他们看到它是如何工作的。以上链接指向一个名为"Draggable and Resizable DIV"的演示。

1
您可以使用jQuery.each函数:
$.each(db, function(index, record) {
    $.each(record, function(key, value) {
        console.log(key + ': ' + value);
    });
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接