json和xml互转
一:json和xml互转所需jar

jar下载地址:
链接: https://pan.baidu.com/s/1eR39lR0 密码: 8ue2
二:练习json和xml互转时要记得导入xom.jar
注:如果不导入xom.jar会抛java.lang.NoClassDefFoundError: nu/xom/Serializer异常
1 package com.tang;
2
3 import java.io.BufferedReader;
4 import java.io.File;
5 import java.io.FileInputStream;
6 import java.io.IOException;
7 import java.io.InputStream;
8 import java.io.InputStreamReader;
9
10 import net.sf.json.JSON;
11 import net.sf.json.JSONArray;
12 import net.sf.json.JSONObject;
13 import net.sf.json.JSONSerializer;
14 import net.sf.json.xml.XMLSerializer;
15
16 /**
17 * json和xml互转
18 * @author Administrator
19 *
20 */
21 public class DemoJsonToXml {
22 //文件读取地址 注:(这个是文件所在路劲,记得自己修改)
23 public static String pathName = "d:/xx.xml";
24
25 /**
26 * 读取xml文件
27 * @return
28 */
29 public static String readXmlFile(){
30 //创建一个文件对象
31 File file = new File(pathName);
32
33 BufferedReader reader = null;
34 //输入流
35 InputStream in = null;
36
37 StringBuffer sb = new StringBuffer();
38 try{
39 in = new FileInputStream(file);
40
41 //创建读取缓冲区
42 reader = new BufferedReader(new InputStreamReader(in,"UTF-8"));
43
44 //存储读取的数据
45 String inLine = null;
46 //每次读取一行,当读取不到时跳出循环
47 while((inLine=reader.readLine())!=null){
48 sb.append(inLine);
49 }
50 // System.out.println(sb.toString());
51 }catch(IOException e){
52 e.printStackTrace();
53 }finally{
54 //关闭
55 if(reader!=null){
56 try {
57 reader.close();
58 in.close();
59 } catch (IOException e) {
60 e.printStackTrace();
61 }
62 }
63 }
64 return sb.toString();
65 }
66 /**
67 * 注:如果不导入xom.jar会抛java.lang.NoClassDefFoundError: nu/xom/Serializer异常
68 *
69 * XML字符串转换为json
70 * @param xmlString
71 * xml字符串
72 * @return json
73 */
74 public static String getXmlToJson(String xmlString){
75 XMLSerializer xml = new XMLSerializer();
76 JSON json = xml.read(xmlString);
77 // System.out.println(json);
78 return json.toString(1);
79 }
80
81 /**
82 * JSON(数组)字符串转换成XML字符串
83 *
84 * @param jsonString
85 * @return
86 */
87 public static String json2xml(String jsonString) {
88 XMLSerializer xmlSerializer = new XMLSerializer();
89 // return xmlSerializer.write(JSONSerializer.toJSON(jsonString));
90 JSONObject json = JSONObject.fromObject(jsonString);
91 System.out.println(JSONArray.fromObject(json));
92 return xmlSerializer.write(JSONArray.fromObject(json));//这种方式只支持JSON数组
93 }
94
95 public static void main(String[] args) {
96 String xmlString = readXmlFile();
97 String json = getXmlToJson(xmlString);
98 String xml = json2xml(json);
99 System.out.println(xml);
100 }
101 }

浙公网安备 33010602011771号