Json和xml都是常用的數(shù)據(jù)交換格式,有時(shí)候需要將Json格式的數(shù)據(jù)轉(zhuǎn)換成xml格式的數(shù)據(jù),這時(shí)候可以使用Java中的org.json庫進(jìn)行轉(zhuǎn)換。
Json數(shù)據(jù)示例: { "person": { "name": "Tom", "age": 20, "hobby": ["reading", "music"], "address": { "city": "Beijing", "street": "Haidian Road" } } }
使用org.json庫將Json數(shù)據(jù)轉(zhuǎn)換成xml格式數(shù)據(jù)的代碼如下:
import org.json.JSONObject; import org.json.XML; public class JsonToXml { public static void main(String[] args) { String jsonStr = "{ \n" + " \"person\": {\n" + " \"name\": \"Tom\",\n" + " \"age\": 20,\n" + " \"hobby\": [\"reading\", \"music\"],\n" + " \"address\": {\n" + " \"city\": \"Beijing\",\n" + " \"street\": \"Haidian Road\"\n" + " }\n" + " }\n" + "}"; JSONObject jsonObj = new JSONObject(jsonStr); int xmlIndentation = 4; // 設(shè)置xml縮進(jìn)大小 String xmlStr = XML.toString(jsonObj, "person", xmlIndentation); System.out.println(xmlStr); } }
運(yùn)行以上代碼,得到轉(zhuǎn)換后的xml格式數(shù)據(jù)如下:
<person> <name>Tom</name> <age>20</age> <hobby>reading</hobby> <hobby>music</hobby> <address> <city>Beijing</city> <street>Haidian Road</street> </address> </person>
在這里,我們使用了XML.toString()方法將Json數(shù)據(jù)轉(zhuǎn)換成xml格式數(shù)據(jù),在方法中,第一個(gè)參數(shù)為JSONObject類型的數(shù)據(jù),第二個(gè)參數(shù)為根節(jié)點(diǎn)名稱,第三個(gè)參數(shù)為縮進(jìn)大小。
以上就是使用org.json庫將Json數(shù)據(jù)轉(zhuǎn)換成xml數(shù)據(jù)的方法,當(dāng)然,我們也可以使用其他庫來完成數(shù)據(jù)格式的轉(zhuǎn)換。