从PHP获取数据到iOS应用程序的最佳方法是什么?

时间:2010-12-12 21:49:58

标签: php ios objective-c iphone

将来自互联网的数据(由PHP压缩和编写)传输到iOS应用程序的最佳方法是什么? 目前,该应用程序读取如下格式的字符串:

category1#object2#object3#object4~category2#object2#object3[…]

这是由#~分开的。

有没有更好的方法来执行此操作,包括检索数据的方式(从中获取数据的网站是否为所有人开放)以及数据的格式化方式?

3 个答案:

答案 0 :(得分:17)

使用JSON:

{"category1":["object1", "object2", "object3", "object4"], "category2":["object1", "object2"]}

所以说你有一个PHP对象或关联数组,你可以简单地在其上调用json_encode并完成它。

在iOS端,您需要使用JSONKit来解析它。

关于管道这两端的最好的事情是对它们有原生支持。例如,json_encode可以将任何PHP对象编码为可读的JSON字符串,而JSONKit可以解析JSON对象并将其存储在NSDictionaryNSArray中。

哎呀,使用JSONKit,它增强了功能(使用NSDictionaryNSArray上的类别)将NSDictionaryNSArray个对象转换为 JSON,所以你甚至可以拥有一个双向JSON通信管道。

(我们在Freeverse的游戏中执行此操作,尝试并测试了该方法。)

答案 1 :(得分:3)

答案 2 :(得分:2)

acani也使用JSON,但是如果你有一个非常长的源,XML更好,因为Apple已经构建了一个异步XML解析库,而JSON库是同步的。因此,使用JSON库,您必须等待完整的JSON响应下载,然后在访问任何元素之前进行解析。使用XML库,它在等待完全下载之前开始解析XML,并且在XML中的每个元素完成解析为Objective-C对象以供立即使用之后调用回调函数。因此,您可以在下载整个Feed之前访问对象。因此,对于小型Feed,使用JSON(因为我喜欢JSON,而且更容易)。对于大型Feed,请使用XML。希望他们很快就能推出异步JSON解决方案。

查看Top Songs Xcode示例应用程序,了解如何异步使用XML库。