xml和JSON格式相互转换的Java实现
发布时间:2020-12-15 23:52:19 所属栏目:百科 来源:网络整理
导读:依赖的包: 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.apa
依赖的包: 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(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby-on-rails – 调试Heroku应用程序时如何避免大量提交
- C,如何使用pthread_create函数创建线程
- 通过代码隐藏的C#数据绑定不适用于TextBox中的Text属性
- Cocos2d-x3.0模版容器详解之三:cocos2d::Value
- nosql – 最终的一致性,简单的英语
- C#发送带附件的邮件
- ruby-on-rails – heroku scale web = 1返回“没有像web这样
- Cocos适配带虚拟导航栏手机(HUAWEI 荣耀6 Plus)
- ios – 仅在一个ViewController中旋转
- stuff(select ',' + fieldname from tablename