使用.map解析JSON对象的问题

时间:2015-03-25 16:38:38

标签: javascript jquery json

我已经返回了这个JSON对象,我正在尝试解析它以获取identifier中的值。如果我console.log它,那么这就是对象的样子:

Object {rows: Array[33], time: 0.015, fields: Object, total_rows: 33}
fields: Object
rows: Array[33]
  0: Object
       cartodb_id: 28
       coordinates: "41.959836,-87.681545"
       created_at: "2015-03-05T14:40:43Z"
       id: "28"
       identifier: "Store Number: 28"
  1: Object
  2: Object

以下是我试图解析它的方法:

$.getJSON('https://URLHERE, function(data) {
            console.log(data);
            var ticks6 = data.rows.map(function() {
                return data.rows.identifier;
            });

ticks6返回一个数组,其中所有值均为“undefined”。我在这里尝试了很多不同的组合,无法解析出正确的组合。

2 个答案:

答案 0 :(得分:3)

$.getJSON('https://URLHERE', function(data) {
    console.log(data);
    var ticks6 = data.rows.map(function(ele) {
        return ele.identifier;
    });
    console.log(ticks6);
});

.map功能中,您正在访问{em}整个数组的data.rows。您想要访问ele(传递给回调的第一个参数),即数组中的每个元素

答案 1 :(得分:1)

Array.prototype.map接受一个针对数组中每个项目运行的函数。返回值是在数组的该槽中保存的值。所以你可能想写:

var ticks6 = data.rows.map(function(row) {
    return row.identifier;
});