利用java把XML文件转化为Json文件,利用jar包,可以在maven中进行查找,org.json仅仅需要两个jar包即可实现,一个org.json另一个是commons-io ;
commons-io-2.6.jar
gson-1.7.jar
具体java实现代码:
package TestJson;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.apache.commons.io.IOUtils;
import org.json.JSONException;
import org.json.JSONObject;
import org.json.XML;
import org.junit.Test;
/**
* 类描述:xml转成json格式
*
* @author: 张宇
* @date: 日期: 2018年7月24日 时间: 下午7:58:11
* @version 1.0
*/
public class JsonUtils {
@Test
public void fun() {
String xmlString;
try {
xmlString = new JsonUtils().xmlToJson();
System.out.println(xmlString.replaceAll("\"", "\'"));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public String xmlToJson() {
String xml;
JSONObject xmlJsonObject = null;
try {
xml = IOUtils.toString(new FileInputStream("D:\\test.xml"));
try {
xmlJsonObject = XML.toJSONObject(xml);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return xmlJsonObject.toString();
}
}
输入数据(XML格式的数据):
<?xml version="1.0" encoding="UTF-8"?>
<root>
<class id="001">
<student id="001">
<age>20</age>
</student>
<student id="002">
<name>一班--李四</name>
<age>21</age>
</student>
</class>
<class id="002">
<student id="001">
<name>二班--王五</name>
<age>23</age>
</student>
<student id="002">
<name>二班--赵六</name>
<age>24</age>
</student>
</class>
</root>
输出结果(json格式的数据):
{'root':{'class':[{'id':1,'student':[{'id':1,'age':20},{'id':2,'age':21,'name':'一班--李四'}]},{'id':2,'student':[{'id':1,'age':23,'name':'二班--王五'},{'id':2,'age':24,'name':'二班--赵六'}]}]}}
总结:暂且就找到了这一种将XML格式的数据转化为JSON格式的数据,与大家分享一下,也记录自己的一些学习动态。