在Sencha Touch中解析复杂的JSON

时间:2011-03-16 15:29:41

标签: javascript json sencha-touch

我已经在Sencha Touch论坛上问过了,但没有得到很好的回复(好吧,事实上都没有)。我想知道是否有人可以帮忙。我想从PHP脚本收到的JSON响应中创建项目列表。以下是从PHP收到的JSON示例:

{
   "friends":[
      {
         "friend":{
            "id":"4",
            "forename":"Chris",
            "surname":"Major",
            "verboseName":"Chris Major",
            "phoneNumber":"07931655247",
            "longitude":"-0.410909",
            "latitude":"52.999245",
            "email":"major@lincsmps.co.uk",
            "lastRefresh":null,
            "joinDate":"1294839423"
         },
         "networks":null,
         "approved":"1"
      },
      {
         "friend":{
            "id":"2",
            "forename":"Marta",
            "surname":"Urbanowicz",
            "verboseName":"Marta Urbanowicz",
            "phoneNumber":"07716021468",
            "longitude":"-0.0338518",
            "latitude":"52.9773876",
            "email":"urb.marta@googlemail.com",
            "lastRefresh":null,
            "joinDate":"1294836801"
         },
         "networks":null,
         "approved":"1"
      }
   ]
}

我想知道如何将其解析为DataStore,然后在Sencha Touch中输出分组列表。虽然有一些对ListView使用标准JSON响应的例子,但似乎没有像这样的嵌套示例......

感激不尽的任何帮助。

1 个答案:

答案 0 :(得分:1)

钟,

您可能想要做的是使用您想要的字段(可能是id,姓氏,电子邮件,网络,已批准)声明您的朋友商店

然后使用Ajax远程调用进行远程调用,这只会传回原始数据。

此时你将拥有“朋友”对象。然后,您可以遍历每个“朋友”,而不是添加“朋友”总共创建新对象:

var friend = {id:'2',姓:'what',电子邮件:'whatever@blah.com'}

制作这些新朋友结构的数组,并将其传递到商店。这将使您的复杂json结构变平或简化。

希望有所帮助,如果您需要,我可以提供更多详细信息。