2012-10-29 36 views
3

什麼時候應該在REST服務和JSON中使用xml?在REST服務中使用json和xml

使用json而不是XML的優缺點是什麼?

+0

Web服務將結果作爲JavaScript對象表示法和XML返回,因爲這些語言可用於穿越各種設備並用於傳輸各種設備。這些語言是獨立於平臺的。 –

回答

5

這就像問:

「什麼是職業玩家來說法國VS講西班牙語的利弊」。

這取決於您所說的內容和受衆。

您的服務消費者的需求是什麼?你是否向其他服務器提供結果或從瀏覽器提供Ajax請求?你有一個簡單的對象,數組還是一個非常複雜的對象,其中可能有其他對象在主對象中?通過提供這樣的細節,你可以列出優點和缺點。如果你只能做一個,這個問題將推動選擇。

我通常允許客戶端指定他們想要的格式並返回json或xml。它只是兩種不同的'觀點'或同一資源的表述。

+0

我向其他服務器提供結果,有一個相當簡單的對象。 –

+0

@AlexanderBezrodniy我會允許這兩種格式(也許把一個get參數?type = json或?type = xml。創建一個簡單的轉換庫來處理您的輸出基於參數。如果只有一個選擇,在這種情況下,json是通常更容易消耗和排除故障。 – Ray

3

我真的不知道是什麼優點和缺點,這兩種MIME類型都需要對數據進行序列化和反序列化。 我可以告訴的是,向客戶端應用程序提供請求特定內容類型的機會是一種好習慣,以便您的服務可以被用不同語言編寫的各種客戶端使用。

2

我會同意雷,關於你應該如何迴應客戶(xml或json)。的確是一個好主意,可以同時實施並給予客戶決定響應格式的選擇。我使用的大多數Web服務都支持這一功能,而且相當容易,因爲您只需爲同一對象實現兩種不同的反序列化/序列化方法。

我想說最近越來越多的WS以json格式提供數據,而且在序列化/反序列化時,我覺得它靈活而快速。另外,我發現JSON更具人類可讀性,特別是在複雜對象中。