JSON:如何解析属性名称

时间:2013-02-18 13:07:40

标签: javascript jquery json underscore.js

我从类似下面的SQL数据库中获取了很多json数据:

var data = [
        {"id": 0, "gender": "male", "name": "joan"},
        {"id": 1, "gender": "female", "name": "pep"},
        {"id": 2, "gender": "female", "name": "maria"},
        {"id": 3, "gender": "female", "name": "meli"},
        {"id": 4, "gender": "female", "name": "jaume"}
            ];

如何获得Javascript(jQuery或underscore.js会更好)?

keys = ["id", "gender", "name"];

(对不起重复,我找不到完全相同的东西)

更新:是的,如果你采用数据数组的第一个元素,这可以被视为重复,这是:数据[0]

然后,最短的给定解决方案(使用underscore.js)是

keys = _.keys(data[0]);

2 个答案:

答案 0 :(得分:2)

使用jquery.each,您可以获取json对象的密钥

     var keys = [];

    $.each(data[0], function(key, value){
         console.log(key); // id, gender, name
         console.log(value); // 0, male, joan
         keys.push(key);
        });

的console.log(键); // [“id”,“gender”,“name”]

答案 1 :(得分:1)

如果所有对象具有相同的密钥,jquery.map可能有用:

keys = $.map(data[0], function(val, key) { return key })

对于纯JavaScript解决方案,请考虑Object.keys