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();
}
- xom-1.2.1.jar (406.7 KB)
- ezmorph-1.0.6.jar (84.5 KB)
- commons-io-1.3.2.jar (85.7 KB)
- commons-lang-2.1.jar (202.9 KB)
- json-lib-2.4-jdk15.jar (155.4 KB)
xml和JSON格式相互转换的Java实现的更多相关文章
- java XML转JSON格式
标签: XML转Json json 2014-05-20 20:55 6568人阅读 评论(6) 收藏 举报 分类: [J2SE基础](20) 代码如下所示,从这个例子中发现了代码库的重要性,如果 ...
- json格式字符串与java.util.Map的互转(借助于jackson.jar)
package com.test.javaAPI.json; /** * json工具类 * * @author Wei * @time 2016年10月2日 下午4:25:25 */ public ...
- 【.net 深呼吸】聊聊WCF服务返回XML或JSON格式数据
有时候,为了让数据可以“跨国经营”,尤其是HTTP Web有关的东东,会将数据内容以 XML 或 JSON 的格式返回,这样一来,不管客户端平台是四大文明古国,还是处于蒙昧时代的原始部落,都可以使用这 ...
- .net WebAPI返回xml、json格式
WebAPI返回xml.json格式简单示例 using System.Net.Http.Formatting; public class TestController : ApiController ...
- Ajax中XML和JSON格式的优劣比较
刚做完一个小的使用Ajax的项目.整个小项目使用JavaScript做客户端,使用PHP做服务器端.利用xmlHttpRequest组件作为交互工具,利用XML作为数据传输的格式.做完后基本做一个简单 ...
- 发送xml或json格式的数据给服务器
后台通过context.Request.InputStream来接收 #region 发送消息 + void SendMessage() /// <summary> /// 发送消息 // ...
- C# XML与Json之间相互转换实例详解
对于这转换其实很简单,其中最重要的就是先要引用类库.可以到官网进行下载引用http://json.codeplex.com. XML转换为Json字符串 string xml = @"< ...
- 使用CJSON库实现XML与JSON格式的相互转化
之前完成了一个两个平台对接的项目.由于这两个平台一个是使用json格式的数据,一个是使用xml格式的数据,要实现它们二者的对接就涉及到这两个数据格式的转化,在查阅相关资料的时候发现了这个CJSON库, ...
- xml转换为json格式时,如何将指定节点转换成数组 Json.NET
使用Json.NET转换xml成json时,如果xml只有单个节点,但json要求是数组形式[], JsonConvert.SerializeXmlNode 并不能自动识别 示例如下: RecordA ...
随机推荐
- django-给外键关系传值,删除外键关系
反查: 在表关系里 related_name = '反查name',自己不设置,django也会默认设置为class的小写名字+_set , ex: book_set. 一对一关系赋值: class ...
- asp.net利用QQ邮箱发送邮件,关键在于开启pop并设置授权码为发送密码
public static bool SendEmail(string mailTo, string mailSubject, string mailContent) { ...
- oracle 安装包
Oracle Database 10g Release 2 (10.2.0.1.0) Enterprise/Standard Edition for Microsoft Windows (32-bit ...
- NotePad++替换行前、行后空格,替换空行
用 Notepad++ 打开,把每一个将要放在表中单元格的内容放一行(注: ^ 代表行首 $ 代表行尾) 去除行尾空格和空白行:按CTRL+H 选择正则表达式– 查找目标:\s+$ 替换为空 去除行首 ...
- SOAP 版本可能不匹配: 出现意外的 Envelope 命名空间 http://schemas.xmlsoap.org/wsdl/
原错误描述:SOAP 版本可能不匹配: 出现意外的 Envelope 命名空间 http://schemas.xmlsoap.org/wsdl/.应为 http://schemas.xmlsoap.o ...
- 通过@Configuratin配置Bean
Spring的依赖注入可以基于xml配置,也可以基于注解配置,还可以基于java类配置. 普通的bean类,只要标注了@Configuration注解,就可以为Spring容器提供Bean定义的信息. ...
- win10如和设置远程桌面
最近几天一直在搞远程桌面问题,电脑一直连不上远程,今天终于出来了. 前提前提 条件,要电脑允许Administrator用户,先把电脑切换到那个用户,然后进行下面操作. 1.在桌面,我的电脑图标,鼠 ...
- JS 语法大全
来源http://blog.csdn.net/newegg2009/article/details/6230582 js语法2008年03月19日 星期三 11:14一.js的数据类型和变量 Java ...
- 二叉树叶子顺序遍历 · binary tree leaves order traversal
[抄题]: 给定一个二叉树,像这样收集树节点:收集并移除所有叶子,重复,直到树为空. 给出一个二叉树: 1 / \ 2 3 / \ 4 5 返回 [[4, 5, 3], [2], [1]]. [暴力解 ...
- maven项目 实现 spring mybatis 两个框架整合
1.maven项目 src main java java源文件 resources 配置文件 beans.xml spring配置文件 <?xml version="1.0" ...