从json数据中获取ID

时间:2014-02-18 22:46:36

标签: jquery ajax backbone.js marionette esri

请原谅我,如果我的措辞不对,但我只是在学习GIS的东西。我正在对映射服务器进行ajax调用,在我的firebug控制台中,这正是我所看到的。

jQuery19008239585978290092_1392763042662({
    "displayFieldName" : "name",
    "fieldAliases" : {
    "ID" : "ID",
    "name" : "name"
    },
    "geometryType" : "esriGeometryPoint",
    "spatialReference" : {
    "wkid" : 102100
    },
    "fields" : [
        {
          "name" : "ID",
          "type" : "esriFieldTypeInteger",
          "alias" : "ID"
        },
        {
          "name" : "name",
          "type" : "esriFieldTypeString",
          "alias" : "name",
          "length" : 150
        }
    ],
    "features" : [{
        "attributes" : {
            "ID" : 114,
            "name" : "LewisGale Hospital - Pulaski"
          },
        "geometry" : {
            "x" : -8989914.6998432986,
            "y" : 4448752.1187390834
          }
    }
  ]
});

我习惯使用的ajax调用没有jQuery19008239585978290092_1392763042662的一部分,所以我不知道如何处理这部分数据。

以下是我的成功陈述:

success: function (json) {
    console.log(json);
},

没有返回通常会发生的任何事情。我认为jQuery19008239585978290092_1392763042662让我失望,我不知道如何处理json对象或如何以这种格式遍历它。我在这个数据集中需要的只是ID值,在这种情况下是114。

1 个答案:

答案 0 :(得分:0)

日志输出的语法是函数调用的语法。有问题的函数名为jQuery19008239585978290092_1392763042662(),它只使用一个参数:一个看起来像响应有效负载的匿名对象。

我想你可能会从Firebug的日志记录中得到奇怪的行为; jQuery在返回之前通过$.parseJSON()运行JSON响应。尝试在成功处理程序中记录ID:console.log('id=', json.features[0].attributes.ID);

您也可以使用$.ajax$.get方法以及dataType json$.getJSON使用其他内容}。如果是这样,您可能必须在AJAX调用中更明确地指定数据类型和/或accepts值。