依賴的包:java
json-lib-2.4-jdk15.jarapache
ezmorph-1.0.6.jarjson
xom-1.2.1.jar日誌
commons-lang-2.1.jarxml
commons-io-1.3.2.jar對象
jaxen-1.1.jarblog
輸入xml文件,輸出JSON對象字符串
package com.cash.util;get
import java.io.IOException;
import java.io.InputStream;it
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();
}
轉自http://datalife.iteye.com/blog/1058466/