2011-12-14 111 views
6

JSON和XML之間是否存在嚴格的轉換規則?將JSON轉換爲XML並返回有嚴格的規則嗎?

我正在開發的程序應該能夠以兩種格式輸出結果,但在所有可能的轉換實用程序,庫等中都有輸出結果。我無法理解是否有任何標準(可能是「事實上的」)轉換。

常見的問題,如我看到的,分別是:

  • 轉換從一種格式到另然後迴應該給結果相同原始;

  • JSON有數組 - 在XML中簡單地嵌套類似的子項不會這樣做,因爲某些XML處理工具不會保留順序;

  • XML具有屬性 - 它們作爲子項的表示在轉換回時會改變原始XML。

我可以在這個問題上找到任何文檔嗎?或者我可以使用任何合適的轉換器,因爲缺乏這樣的標準?

非常感謝您提供鏈接,建議,指南。

回答

1

不......目前還沒有嚴格的規定。

正如你暗示的那樣......雖然JSON可以轉換爲XML,但轉換不能健壯,因爲根據定義,XML標籤列表不是可以連接到任何特定的數據結構,而JSON數據結構(地圖和列表)。因此...如果將JSON文件轉換爲XML,則無法將其無損地轉換回JSON(除非您將一些非標準元信息嵌入用於XML解碼的JSON對象中)。

+0

謝謝你明確的答案! – 2011-12-14 04:53:20

0

就個人而言,這很大程度上將取決於您的具體實施。但最終,真正的關鍵應該是在你有實際的關係......

  • 對象 - > JSON
  • JSON - >對象
  • 對象 - > XML
  • XML - >對象

至於真正做任何事情,試圖從XML做的任意轉換 - > JSON或反之亦然將是非常難以管理/流程爲你勾勒。但是如果你在中間有一個共同的對象模型,你應該沒問題。

因此,只要您的序列化和反序列化方法適用於各個對象類型,實際過程應該沒有任何問題。

0

是的,有可能。如果您定義瞭如何處理這些問題,我認爲您可以處理所有您的疑慮。我不知道一個標準的做法。

我認爲這是你需要如何去了解它很講http://jsontoxml.utilities-online.info/

基本上你「編碼」屬性和文本數據用一種方式來表示什麼數據,什麼是屬性,等等。非常有趣,我認爲玩這個工具會給你一些創意的想法來創建一個適用於你的規範的規則集。

最重要的是,如果你繼續這樣做,就是要記錄處理過程如何工作以及預期的結果。