最新消息:关注【太平洋学习网】微信公众号,可以获取全套资料,【全套Java基础27天】【JavaEE就业视频4个月】【Android就业视频4个月】

java将xml文档快速转换为json格式的方法示例

Javaweb 太平洋学习网 浏览 评论

在java中我们经常需要将xml文档转json格式数据来进行一些操作,xml转json也是非常简单的,下面来看看我们如何来实现这个示例,我们以maven项目来举例。

首先需要引入两个maven jar包:

dom4j-1.6.0.jar:具有读取与操作xml文档的功能

json-20171018.jar:具有将xml转换为json格式的功能

maven分别如下,在pom.xml包里面导入:

<dependency>
	<groupId>dom4j</groupId>
	<artifactId>dom4j</artifactId>
	<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
  <artifactId>json</artifactId>
  <version>20171018</version>
</dependency>

例如我们要将Student.xml文档内容转换成json格式,Student.xml文件是放在项目下的src目录中的,如下:

<?xml version="1.0" encoding="UTF-8"?>
<xml-body> 
  <student id="A100"> 
    <name>小红</name>
    <age>18</age>  
    <gender>女</gender>  
    <address>深圳市</address> 
  </student>  
  <student id="A101"> 
    <name>小明</name>  
    <age>17</age>  
    <gender>男</gender>  
    <address>广州市</address> 
  </student> 
</xml-body>

使用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/2017/1207/423.html

    与本文相关的文章

    发表我的评论
    取消评论

    表情

    您的回复是我们的动力!

    • 昵称 (必填)

    网友最新评论