2011-12-16 104 views
3

我正在使用net.sf.json.xml.XMLSerializer將XML文檔轉換爲JSON。對於幾乎兩個類似的XML文檔,我得到了兩個不同的結果。我的代碼是:XML-JSON轉換器規則

public static void main(String[] args) throws DocumentException { 
    String t1="<A><B>aa</B><C><D>Martin Ritt</D> </C></A>"; 
    String t2="<A><B>aa</B><C><D>Martin Ritt</D></C></A>"; 
    System.out.println(new XMLSerializer().read(t1).toString()); 
    System.out.println(new XMLSerializer().read(t2).toString()); 
} 

第一串t1被轉換爲:

{"B":"aa","C":["Martin Ritt"]} 

而T2被轉換成:

{"B":"aa","C":{"D":"Martin Ritt"}} 

這意味着,在第一種情況下,C被認爲是在第二種情況下,它被認爲是一個對象。兩個XML之間的區別在於D元素關閉後的空間。也就是</D>之後。

任何想法這裏發生了什麼?規則是什麼?我更關心如何使它一致地識別數組。

回答