在java中我们经常需要将xml文档转json格式数据来进行一些操作,xml转json也是非常简单的,下面来看看我们如何来实现这个示例,我们以maven项目来举例。
首先需要引入两个maven jar包:
dom4j-1.6.0.jar:具有读取与操作xml文档的功能
json-20171018.jar:具有将xml转换为json格式的功能
maven分别如下,在pom.xml包里面导入:
dom4j
dom4j
1.6.1
org.json
json
20171018
例如我们要将Student.xml文档内容转换成json格式,Student.xml文件是放在项目下的src目录中的,如下:<?xml version="1.0" encoding="UTF-8"?>
小红
18
女
深圳市小明
17
男
广州市使用json-20171018.jar包中的方法将xml转json非常之简单,就只有几行代码,如下。import org.dom4j.Document;
import org.dom4j.io.SAXReader;
import org.json.JSONObject;
import org.json.XML;
public class Demo {
public static void main(String[] args) throws Exception {
//指定xml文件所在目录
String path = "src/Student.xml";
//dom4j读取xml内容
SAXReader reader = new SAXReader();
Document doc = reader.read(path);
//读取到xml文件的doc,然后转成字符串类型
String stuStr = doc.asXML();
//通过json包里面的方法将学生字符串转换为json对象
JSONObject jsonObject = XML.toJSONObject(stuStr);
//输出json对象
System.out.println(jsonObject);
}
}
上面的代码输出如下json结果,它是JSONObject对象,:{
"xml-body":{
"student":[
{
"address":"深圳市",
"gender":"女",
"name":"小红",
"id":"A100",
"age":18
},
{
"address":"广州市",
"gender":"男",
"name":"小明",
"id":"A101",
"age":17
}
]
}
}
如果想输出student里面的内容,可以这样:JSONObject stuObj= (JSONObject)jsonObject.get("xml-body");
System.out.println(stuObj.get("student"));
简单吧!
来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/javaweb/423.html