2

我有很多从类似于下面的 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"];

(抱歉重复,我找不到完全一样的东西)

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

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

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

2 回答 2

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);
        });

控制台.log(键);// ["id", "gender", "name"]

于 2013-02-18T13:15:23.340 回答
1

如果所有对象都具有相同的键,jquery.map可能会很有用:

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

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

于 2013-02-18T13:13:42.797 回答