2016-06-16 1 views
2

私はライブラリnet.sf.jsonを使用してXMLをJSONに変換しています。 これは私が書いたコードは次のとおりです。XMLからJSONへの変換:空の文字列ではなく空の配列

FileInputStream fis = new FileInputStream("C:\\Desktop\\TestXML.xml"); 

XMLSerializer xmlSerializer = new XMLSerializer(); 

JSON json = xmlSerializer.readFromStream(fis); 

JSONArray jsonArray = new JSONArray(); 
jsonArray.add(json); 

JSONObject root = new JSONObject(); 
root.element("WSJson", jsonArray); 

私はXMLが空のタグが含まれている場合、彼らは空の配列に変換されていることに気づきました。

例:

<WSJson> 
    <Tipo_Operazione>I</Tipo_Operazione> 
    <Codice_Prestazione>SW1</Codice_Prestazione> 
    <Codice_Intervento></Codice_Intervento> 
    <Nome/> 
</WSJson> 

このXML与えられた出力は

{ 
    "WSJson": [{ 
     "Tipo_Operazione": "I", 
     "Codice_Prestazione": "SW1", 
     "Codice_Intervento": [], 
     "Nome": [] 
    }] 
} 

である代わりに、私は

{ 
    "WSJson": [{ 
     "Tipo_Operazione": "I", 
     "Codice_Prestazione": "SW1", 
     "Codice_Intervento": "", 
     "Nome": "" 
    }] 
} 

がしたい誰もが助けることはできますか?

答えて

0

はなぜあなたの代わりにあなたがJsonObjectにXML文字列を変換するために、FileReaderのとXML.toJSONObject()を使用することができ、ファイルからの読み取りにXMLSerialiserが必要なのでしょうか?

public static void main(String[] args) throws FileNotFoundException, IOException { 
    String xml = null; 
    try(BufferedReader reader = new BufferedReader(new FileReader("C:\\Desktop\\TestXML.xml"))) { 
     String readLine =null; 
     while((readLine = reader.readLine()) != null) { 
      xml += readLine; 
     } 
    } 
    JSONObject jsonObject = XML.toJSONObject(xml); 
    System.out.println(jsonObject.toString(1)); 
} 
関連する問題