java将xml文件转化为json

利用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格式的数据,与大家分享一下,也记录自己的一些学习动态。

猜你喜欢

转载自blog.csdn.net/zy345293721/article/details/81191939
今日推荐