java实现Xml与json之间的相互转换操作示例

旁白:

最近关于xml与json之间的转换都搞蒙了,这里写一个demo,以后备用。

正题:

project格式是:

jar包是一个一个检出来的,还算干净了。

代码:

工具类:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package exercise.xml;
import net.sf.json.JSON;
import net.sf.json.JSONSerializer;
import net.sf.json.xml.XMLSerializer;
import org.jdom.Document;
public class XmlExercise {
   /**
    * 将xml字符串<STRONG>转换</STRONG>为JSON字符串
    *
    * @param xmlString
    *      xml字符串
    * @return JSON<STRONG>对象</STRONG>
    */
   public static String xml2json(String xmlString) {
     XMLSerializer xmlSerializer = new XMLSerializer();
     JSON json = xmlSerializer.read(xmlString);
     return json.toString( 1 );
   }
   /**
    * 将xmlDocument<STRONG>转换</STRONG>为JSON<STRONG>对象</STRONG>
    *
    * @param xmlDocument
    *      XML Document
    * @return JSON<STRONG>对象</STRONG>
    */
   public static String xml2json(Document xmlDocument) {
     return xml2json(xmlDocument.toString());
   }
   /**
    * JSON(数组)字符串<STRONG>转换</STRONG>成XML字符串
    *
    * @param jsonString
    * @return
    */
   public static String json2xml(String jsonString) {
     XMLSerializer xmlSerializer = new XMLSerializer();
     return xmlSerializer.write(JSONSerializer.toJSON(jsonString));
     // return xmlSerializer.write(JSONArray.fromObject(jsonString));//这种方式只支持JSON数组
   }
}

测试类:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package exercise.xml;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class XmlTest extends XmlExercise {
   public static void main(String[] args) {
     JSONObject jsonObject = new JSONObject();
     jsonObject.put( "username" , "horizon" );
     JSONArray jsonArray = new JSONArray();
     JSONObject dataJson = new JSONObject();
     jsonArray.add(jsonObject);
     //jsonArray.add(jsonObject);
     dataJson.put( "data" , jsonArray);
     System.out.println(dataJson.toString());
     String xml = json2xml(dataJson.toString());
     System.out.println( "xml:" + xml);
     String str = xml2json(xml);
     System.out.println( "to_json" + str);
   }
}

猜你喜欢

转载自www.cnblogs.com/tomtanof/p/10995562.html