Я использую 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>
.
Любая идея, что здесь происходит? Каково правило? Меня больше интересует, как заставить его последовательно распознавать массивы.