xml和JSON格式相互转换的Java实现
Posted 刀刀(2把刀)
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xml和JSON格式相互转换的Java实现相关的知识,希望对你有一定的参考价值。
依赖的包:
json-lib-2.4-jdk15.jar
ezmorph-1.0.6.jar
xom-1.2.1.jar
commons-lang-2.1.jar
commons-io-1.3.2.jar
jaxen-1.1.jar
输入xml文件,输出JSON对象
package com.cash.util;
import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import net.sf.json.JSON;
import net.sf.json.xml.XMLSerializer;
public class Test {
public static void ConvertXMLtoJSON() {
InputStream is = ConvertXMLtoJSON.class.getResourceAsStream("sample.xml");
String xml;
try {
xml = IOUtils.toString(is);
System.out.println(xml);
XMLSerializer xmlSerializer = new XMLSerializer();
JSON json = xmlSerializer.read(xml);
System.out.println(json.toString(1));
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
ConvertXMLtoJSON();
}
}
/** * 将xml字符串转换为JSON对象 * @param xmlFile xml字符串 * @return JSON对象 */ public JSON getJSONFromXml(String xmlString) { XMLSerializer xmlSerializer = new XMLSerializer(); JSON json = xmlSerializer.read(xmlString); return json; }
/** * 将xmlDocument转换为JSON对象 * @param xmlDocument XML Document * @return JSON对象 */ public JSON getJSONFromXml(Document xmlDocument) { String xmlString = xmlDocument.toString(); return getJSONFromXml(xmlString); }
/** * 将xml字符串转换为JSON字符串 * @param xmlString * @return JSON字符串 */ public String getJSONStringFromXml(String xmlString ) { return getJSONFromXml(xmlString).toString(); }
/** * 将xmlDocument转换为JSON字符串 * @param xmlDocument XML Document * @return JSON字符串 */ public String getXMLtoJSONString(Document xmlDocument) { return getJSONStringFromXml(xmlDocument.toString()); }
/** * 读取XML文件准换为JSON字符串 * @param xmlFile XML文件 * @return JSON字符串 */ public String getXMLFiletoJSONString(String xmlFile) { InputStream is = JsonUtil.class.getResourceAsStream(xmlFile); String xml; JSON json = null; try { xml = IOUtils.toString(is); XMLSerializer xmlSerializer = new XMLSerializer(); json = xmlSerializer.read(xml); } catch (IOException e) { e.printStackTrace(); } return json.toString(); }
/** * 将Java对象转换为JSON格式的字符串 * * @param javaObj * POJO,例如日志的model * @return JSON格式的String字符串 */ public static String getJsonStringFromJavaPOJO(Object javaObj) { return JSONObject.fromObject(javaObj).toString(1); }
/** * 将Map准换为JSON字符串 * @param map * @return JSON字符串 */ public static String getJsonStringFromMap(Map<?, ?> map) { JSONObject object = JSONObject.fromObject(map); return object.toString(); }
以上是关于xml和JSON格式相互转换的Java实现的主要内容,如果未能解决你的问题,请参考以下文章