json互转xml

1、Json转为xml

导入GSON包,google开发的已知最为方便的Json解析包。

	<dependency>
		    <groupId>de.gerdi-projectgroupId>
		    <artifactId>GSONartifactId>
		    <version>6.0.5version>
	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

你可能感兴趣的:(Homework,json,xml)