无法从Sencha Touch Application中的嵌套JSON对象中获取记录

时间:2013-03-21 10:01:39

标签: json sencha-touch sencha-touch-2

我遇到了在 Sencha Touch 中从 JSON 获取网络服务响应的问题。

我收到服务器的回复。

{
   "type": "FeatureCollection",
   "features": [
   {
       "type": "Feature",
       "id": "business_poi_en.1",
       "geometry": {
          "type": "Point",
          "coordinates": [
               28.21962354993591,
               36.452844361147314
          ]
    },
    "geometry_name": "geom",
    "properties": {
       "status": "M",
       "score": 100,
       "side": "R",
       "ref_id": 0,
       "id": null,
       "business_p": "AQUARIOUM",
    }
},
{
   "type": "Feature",
   "id": "business_poi_en.2",
   "geometry": {
      "type": "Point",
      "coordinates": [
         28.225417523605692,
         36.436470953176716
      ]
    },
    "geometry_name": "geom",
    "properties": {
       "status": "M",
       "score": 68.44,
       "match_type": "A",
       "side": "L",
       "ref_id": 0,
       "id": null,
       "business_p": "ZIGOS",
    }
},

.... So On ....

我想从几何标记中获取坐标的数据,因此我可以通过这些坐标在地图上显示它。
我还想获取数据来自属性 business_p 标记在地图上显示标题。

但是,我无法获得坐标和两者的两个值。 business_p同时来自相同的回复。

同时获取价值的任何想法?
任何建议将不胜感激 请帮助解决这个问题。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您商店的代理读者应该有正确的rootProperty,这是coordinatesbusiness_p的共同父母。为此,您的回复应该包含在这样的顶级标记中

{
  "featureResponse": [
    {
        "type": "FeatureCollection",
        "features": []
    },
    {
        "type": "Feature",
        "features": []
    },
  ]
}

然后你可以这样定义读者:

reader: {
            type: 'json',
            rootProperty: 'featureResponse'
        }

从此商店获得记录后,您可以转到dataraw子对象获取所需数据。