XML与JSON之间的转换 XMLSerializer类实现

介绍一下用XMLSerializer实现XML与JSON之间的转换

引用jar包下载地址:http://download.csdn.net/detail/yuxiangaaaaa/9614956

主要是xom-1.2.5.jar、json-lib-2.4-jdk15.jar

方法很简单:

/**
     * xom.jar提供的方法
     * xml转换成json
     * @param xml
     * @return
     */
    public static String xmltoJson(String xml) {  
        XMLSerializer xmlSerializer = new XMLSerializer();  
        return xmlSerializer.read(xml).toString();  
    } 
	
    /**
     * xom.jar提供的方法
     * json 转换成xml
     * @param json
     * @return
     */
    public static String Json2xml(JSONObject json){
    	try {  
            XMLSerializer serializer = new XMLSerializer();  
            JSON jsonObject = JSONSerializer.toJSON(json);
            String result = serializer.write(jsonObject);
            return result;  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        return null;  	
	}
Person类:

public class People {
	 public People(int id,String name){
		this.id = id;
		this.name = name;
	}
	private int id;
	private String name;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
}


与之前的写的JSON转换成XML: http://blog.csdn.net/yuxiangaaaaa/article/details/52329944,

最大区别是本次方法转换成的xml很死板,格式固定;

但是本次的是更符合完整xml报文形式

测试如下:

public static void main(String[] args) {
	String xml = "3r2222";
	System.out.println(xmltoJson(xml));
		
	JSONObject json = new JSONObject();		
        People p = new People(9203,"xiaobao");
        People p2 = new People(943,"xiaoxiao");
        json.put("p1", p);
        json.put("p2", p2);
        System.out.println(Json2xml(json));
}

结果如下:

{"id":{"id1":"3r"},"name":"2222"}

9203xiaobao943xiaoxiao


多了一个xml头部,还有和class、type属性

你可能感兴趣的:(JAVA--xml解析,JSON转换成XML,XML转换成JSON)