介绍一下用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 = "<xml><id><id1>3r</id1></id><name>2222</name></xml>";
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"}
<?xml version="1.0" encoding="UTF-8"?>
<o><p1 class="object"><id type="number">9203</id><name type="string">xiaobao</name></p1><p2 class="object"><id type="number">943</id><name type="string">xiaoxiao</name></p2></o>