xml和JSON格式相互转换的Java实现 - hanyi366 - ITeye技术网站
创建时间:
2015/11/9 15:01
来源:
http://hanyi366.iteye.com/blog/1162365
依赖的包:
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对象
Java代码
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();
}
}
Java代码
/**
* 将xml字符串转换为JSON对象
* @param xmlFile xml字符串
* @return JSON对象
*/
public
JSON getJSONFromXml(String xmlString) {
XMLSerializer xmlSerializer =
new
XMLSerializer();
JSON json = xmlSerializer.read(xmlString);
return
json;
}
Java代码
/**
* 将xmlDocument转换为JSON对象
* @param xmlDocument XML Document
* @return JSON对象
*/
public
JSON getJSONFromXml(Document xmlDocument) {
String xmlString = xmlDocument.toString();
return
getJSONFromXml(xmlString);
}
Java代码
/**
* 将xml字符串转换为JSON字符串
* @param xmlString
* @return JSON字符串
*/
public
String getJSONStringFromXml(String xmlString ) {
return
getJSONFromXml(xmlString).toString();
}
Java代码
/**
* 将xmlDocument转换为JSON字符串
* @param xmlDocument XML Document
* @return JSON字符串
*/
public
String getXMLtoJSONString(Document xmlDocument) {
return
getJSONStringFromXml(xmlDocument.toString());
}
Java代码
/**
* 读取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代码
/**
* 将Java对象转换为JSON格式的字符串
*
* @param javaObj
* POJO,例如日志的model
* @return JSON格式的String字符串
*/
public
static
String getJsonStringFromJavaPOJO(Object javaObj) {
return
JSONObject.fromObject(javaObj).toString(
1
);
}
Java代码
/**
* 将Map准换为JSON字符串
* @param map
* @return JSON字符串
*/
public
static
String getJsonStringFromMap(Map<?, ?> map) {
JSONObject object = JSONObject.fromObject(map);
return
object.toString();
}