PHP在PHP中处理/更容易使用哪个更快; XML或JSON,以及file_get_contents还是cURL?

时间:2008-11-03 15:55:54

标签: php json xml

我是否有理由选择基于XML的JSON,反之亦然?在处理数据馈送时优化性能的提示也很受欢迎!

4 个答案:

答案 0 :(得分:9)

说到PHP,我选择XML而不是JSON的一个原因是因为即使在PHP 5中也没有官方支持的遍历API。你可以编码,你可以解码,就是这样。没有验证,没有有效的方法来遍历键/值对,以及总体而言,对它的支持很少。不要误解我的意思,你可以使用foreach循环结构,但它真的很麻烦。 JSON被吹捧为一种出色的数据交换格式,因为JavaScript很容易理解词法结构。所以当你从PHP转到JavaScript时,它很棒,但是当你从JavaScript转向PHP,或从PHP转向PHP时,那么JSON不是数据交换的最佳选择。

答案 1 :(得分:5)

我自己会使用JSON,因为XML非常臃肿且难以解析。 JSON小而整洁,因此可以节省带宽,并且还应该加快响应时间,因为它更容易生成,传输速度更快,解码速度更快。

答案 2 :(得分:2)

无论您选择哪种方法,当您选择为IO序列化数据时,序列化机制应该是透明且可替换的。如果您发现JSON不适合您,您应该能够替换正面和背面使用的序列化程序,并且您的数据结构保持不变。

也就是说,我传输的大多数数据阵列都只是大键值树。我发现当数据结构未包含在XML序列化中时,更容易读取我的数据结构。

答案 3 :(得分:1)

关于file_get_contents()与cURL的性能,我相信cURL会稍快一些。对于您的应用程序,您可以运行一些快速基准来比较这两种方法。

更重要的是,我更喜欢cURL,因为file_get_contents()在PHP环境中不起作用,这些环境实现了更高级别的安全性(例如, allow_url_fopen 设置通常被禁用)。如果您的应用程序只能在您自己的环境(您控制的)上运行,则file_get_contents()会没问题,但是我会使用cURL来实现可移植性。