2008-11-03 29 views

回答

9

談到PHP時,我選擇XML over JSON的原因之一是,即使在PHP 5中,也沒有官方支持的API遍歷。你可以編碼,你可以解碼,就是這樣。沒有驗證,沒有有效的方式來遍歷鍵/值對,總而言之,對它的支持很少。不要誤解我的意思,你可以使用foreach循環結構,但它確實很麻煩。 JSON被吹捧爲一種偉大的數據交換格式,因爲JavaScript可以輕鬆理解詞法結構。所以當你從PHP轉到JavaScript時,它很棒,但是當你從JavaScript到PHP或PHP到PHP時,那麼JSON並不是數據交換的最佳選擇。

+0

我不確定我100%同意這一點。除非你在談論大量的數據,否則遍歷PHP中的關聯數組並不麻煩。更何況有大量的工具和函數可用於數組操作。 – 2008-11-03 17:57:48

5

我會自己去用JSON,只是因爲XML非常笨拙和過分難以解析。 JSON體積小,整潔,因此可以節省帶寬,並且還可以加快響應時間,因爲它更容易生成,傳輸更快,解碼速度更快。

2

無論選擇哪種方法,當您選擇序列化IO數據時,序列化機制都應該是透明且可替換的。如果你發現JSON不適合你,你應該能夠換出你在前後使用的序列化器,並且你的數據結構保持不變。

也就是說,我傳輸的大部分數據數組都是簡單的大鍵值樹。我發現當它們不包含在XML序列化中時,它更容易閱讀我的數據結構。

1

關於file_get_contents()與cURL的性能,我相信cURL會稍微快一點。對於您的應用程序,您可以運行一些快速基準來比較兩種方法。

更重要的是,我寧願因爲捲曲的file_get_contents()將不會在目前已實施的安全性更高級別的PHP環境中工作(例如,了allow_url_fopen設置通常是禁用)。如果你的應用程序只能運行在你自己的環境(你控制的)上,file_get_contents()會很好,但否則我會用cURL來實現可移植性。

相關問題