Java在開(kāi)發(fā)中經(jīng)常使用JSON作為數(shù)據(jù)交換格式,但有時(shí)候需要將JSON數(shù)據(jù)轉(zhuǎn)換成XML格式以滿(mǎn)足一些需求,這時(shí)候可以使用Java提供的json-lib庫(kù)來(lái)進(jìn)行JSON和XML之間的轉(zhuǎn)換。
json-lib庫(kù)提供了將JSON對(duì)象或字符串轉(zhuǎn)換成XML格式的方法,需要導(dǎo)入下面的依賴(lài):
<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency>
使用json-lib庫(kù)將JSON轉(zhuǎn)換成XML需要先創(chuàng)建JSON對(duì)象(或使用JSON字符串轉(zhuǎn)換成JSONObject):
JSONObject jsonObject = new JSONObject(); jsonObject.put("name", "Java"); jsonObject.put("version", "1.8");
然后使用XMLSerializer將JSON對(duì)象轉(zhuǎn)換成XML格式:
XMLSerializer serializer = new XMLSerializer(); String xml = serializer.write(jsonObject);
轉(zhuǎn)換后得到的xml字符串:
<JSONObject> <name>Java</name> <version>1.8</version> </JSONObject>
如果需要寫(xiě)入XML文件,可以使用java.io包下的FileWriter類(lèi):
try { FileWriter fileWriter = new FileWriter("java.xml"); serializer.write(jsonObject, fileWriter); fileWriter.flush(); fileWriter.close(); } catch (IOException e) { e.printStackTrace(); }
以上示例中,將JSON對(duì)象寫(xiě)入了java.xml文件中。生成的java.xml文件內(nèi)容如下:
<JSONObject> <name>Java</name> <version>1.8</version> </JSONObject>
通過(guò)json-lib庫(kù),我們可以輕松地將JSON數(shù)據(jù)轉(zhuǎn)換成XML格式,方便數(shù)據(jù)的處理和交換。