您的位置:首页 > 编程语言 > Java开发

xml和JSON格式相互转换的Java实现

2013-04-13 15:33 866 查看
依赖的包:

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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: