在 Sencha Touch 中解析复杂的 JSON
Posted
技术标签:
【中文标题】在 Sencha Touch 中解析复杂的 JSON【英文标题】:Parse complex JSON in Sencha Touch 【发布时间】:2011-03-16 15:29:40 【问题描述】:我在 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】:本,
您可能想要做的是使用您想要的字段(可能是 id、姓氏、电子邮件、网络、已批准)声明您的 Friends 商店
然后当使用 Ajax 远程调用进行远程调用时,它只会传回原始数据。
此时您将拥有“朋友”对象。然后,您可以遍历每个“朋友”,而不是添加“朋友”,而是创建新对象:
var 朋友 = id:'2', surname:'whatever', email:'whatever@blah.com'
制作这些新朋友结构的数组,并将它们传递到存储中。这将展平或简化您复杂的 json 结构。
希望对您有所帮助,如果您需要,我可以提供更多详细信息。
【讨论】:
@BenM 与 jquery?你是怎么做到的?以上是关于在 Sencha Touch 中解析复杂的 JSON的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Sencha touch 2.1 中创建复杂的数据项?
Sencha Touch 2- 解析存储包含数组的 JSON 文件
Sencha Touch 和 WordPress BuddyPress API 之间的 JSON 解析问题
Sencha Touch filter dataview 存储和刷新列表
[Sencha ExtJS & Touch] 在Sencha(Extjs/Touch)应用程序中使用plugins(插件)和mixins(混入)