1、Json轉為xml
導入GSON包,google開發的已知最為友善的Json解析包。
<dependency>
<groupId>de.gerdi-project</groupId>
<artifactId>GSON</artifactId>
<version>6.0.5</version>
</dependency>
解析Json包生成xml
/**
jsonElement json的元素
parentElement XML的父節點
name 名字
*/
public static Element toXml(JsonElement jsonElement,Element parentElement,String name) {
//該json元素為數組 便依次周遊
if(jsonElement instanceof JsonArray) {
JsonArray sonJsonArray = (JsonArray)jsonElement;
for(int i =0;i<sonJsonArray.size();i++) {
JsonElement arrayElement = sonJsonArray.get(i);
//遞歸進行周遊
toXml(arrayElement,parentElement,name);
}
//該json元素為單獨對象,則加入xml
}else if(jsonElement instanceof JsonObject) {
JsonObject sonJsonObject = (JsonObject) jsonElement;
Element currentElement = null;
if(name != null) {
currentElement = parentElement.addElement(name);
}
Set<Entry<String,JsonElement>> set = sonJsonObject.entrySet();
for(Entry<String,JsonElement> s: set) {
toXml(s.getValue(),currentElement!=null?currentElement:parentElement,s.getKey());
}
}else {
addAttribute(parentElement,name,jsonElement.getAsString());
}
return parentElement;
}
public static void addAttribute(Element element, String name, String value) {
//增加子節點,并為子節點指派
Element el = element.addElement(name);
el.addText(value);
}
2、xml轉Json
xml轉Json較為簡單,XML的靜态方法支援轉化。
public static String xmljsonString() throws JSONException, IOException {
InputStream in = XmlToJson.class.getResourceAsStream("test.xml");
String xml = IOUtils.toString(in);
JSONObject xmlJSONObj = XML.toJSONObject(xml);
return xmlJSONObj.toString();
}
參考:https://blog.csdn.net/baidu_38322198/article/details/90237806