2010-08-23 82 views
1

我目前有一個PHP應用程序,我將在Rails中進行重寫。我的想法是用Rails慢慢取代所有的PHP功能,所以兩者都需要並行運行(我想我已經弄清楚了這部分內容)。我應該使用from_xml還是from_json來導入對象?

現在,我們每個客戶端都有一個單獨的數據庫,事實證明,如果我們可以在客戶端之間導入/導出某些對象(基本上爲它們設置了一些默認對象或以類似社區的方式分享它們)。

所以,我的想法是,這是我Rails集成的一個很好的起點,尤其是因爲它有像from_xmlfrom_json這樣的方法。我的問題是:在這兩個中,你認爲哪一個更好?我希望從向後兼容性,可靠性,速度等角度聽到爭論。

非常感謝!

回答

4

這裏有一些comparisons between XML and JSON

聰明的人所說的話:

我自己的想法:

  • 通常JSON是規模較小,但依賴於JSON如何並且XML結構被設計(例如通過人或代碼生成)。帶寬對你有多重要?如果您使用的是on-the-fly compression,那麼尺寸就會小一些,如果帶寬很重要的話,您應該這樣做。
  • 雖然JSON正在迎頭趕上,但XML有更多可用的驗證支持(例如DTD,XML Schema,RelaxNG等)。你有什麼需要進行數據驗證?
  • 從上面的比較看來,解析JSON比解析XML更快。如果您有大量數據集,這很重要。靈活性:XML提供像JSON一樣的外部實體和ID類型的花裏胡哨的聲音。如果你不需要它,請忽略它。可以降低可移植性,因爲並非所有的XML解析器都必須支持這些功能。
  • 易於處理:兩者相似。雖然你可以用解析JavaScript的eval(),但它不可靠和不安全。所以這兩種格式都需要庫調用來解析數據。
  • JSON是爲javascript製作的,適合像手套一樣,尤其適用於訪問數據片段。如果其他語言的可移植性是一個因素,JSON的便利性會降低,儘管現在大多數語言都有JSON接口。 XML更多地與平臺無關:大多數語言都有XML接口的DOM接口,或者更好的是XPath接口(例如jQuery,dojo)。
  • 可擴展性(我認爲它符合您向後兼容性的含義):如果設計爲這種方式,兩者都是可擴展的。通過使用命名的屬性/元素/屬性而不是位置。
  • 可靠性:我沒有看到明顯的差異。

涉及到這個話題有點像tip手into腳進入雷區。我試圖公平地表達。披露:我傾向於成爲一名XML粉絲,儘管在某些情況下我也使用JSON。這絕對是兩個地方。歡迎對上述意見不同的意見......請以事實支持他們,不要發牢騷。我確定很多人都知道這個話題比我多。

相關問題