使用.map解析JSON对象时出现问题

Issue parsing JSON object with .map

本文关键字:问题 对象 map 解析 JSON 使用      更新时间:2023-09-26

我返回了这个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返回一个数组,所有值均为"未定义"。我在这里尝试了很多不同的组合,但无法解析出正确的部分。

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

.map函数中,您正在访问data.rows,这是整个数组。您想要访问ele(传递给回调的第一个参数),它是数组中的每个元素

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

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