java XML转JSON格式

代码如下所示,从这个例子中发现了代码库的重要性,如果建立一个自己的代码库,就可以直接从自己的代码库中取出来,这样需要什么就可以随时的取出来.代码库要保证的是规范性和正确性,并且有简单的模块注释.
这是今天在网上找到的XML转json格式的代码,人家封装的很快,节省了我很多时间啊.
- import java.io.ByteArrayInputStream;
- import java.io.File;
- import java.io.InputStream;
- import java.util.HashMap;
- import java.util.LinkedList;
- import java.util.List;
- import java.util.Map;
- import net.sf.json.JSONObject;
- import org.jdom.Document;
- import org.jdom.Element;
- import org.jdom.input.SAXBuilder;
- public class Xml2JsonUtil {
- /**
- * 转换一个xml格式的字符串到json格式
- *
- * @param xml
- * xml格式的字符串
- * @return 成功返回json 格式的字符串;失败反回null
- */
- @SuppressWarnings("unchecked")
- public static String xml2JSON(String xml) {
- JSONObject obj = new JSONObject();
- try {
- InputStream is = new ByteArrayInputStream(xml.getBytes("utf-8"));
- SAXBuilder sb = new SAXBuilder();
- Document doc = sb.build(is);
- Element root = doc.getRootElement();
- obj.put(root.getName(), iterateElement(root));
- return obj.toString();
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
- /**
- * 转换一个xml格式的字符串到json格式
- *
- * @param file
- * java.io.File实例是一个有效的xml文件
- * @return 成功反回json 格式的字符串;失败反回null
- */
- @SuppressWarnings("unchecked")
- public static String xml2JSON(File file) {
- JSONObject obj = new JSONObject();
- try {
- SAXBuilder sb = new SAXBuilder();
- Document doc = sb.build(file);
- Element root = doc.getRootElement();
- obj.put(root.getName(), iterateElement(root));
- return obj.toString();
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
- /**
- * 一个迭代方法
- *
- * @param element
- * : org.jdom.Element
- * @return java.util.Map 实例
- */
- @SuppressWarnings("unchecked")
- private static Map iterateElement(Element element) {
- List jiedian = element.getChildren();
- Element et = null;
- Map obj = new HashMap();
- List list = null;
- for (int i = 0; i < jiedian.size(); i++) {
- list = new LinkedList();
- et = (Element) jiedian.get(i);
- if (et.getTextTrim().equals("")) {
- if (et.getChildren().size() == 0)
- continue;
- if (obj.containsKey(et.getName())) {
- list = (List) obj.get(et.getName());
- }
- list.add(iterateElement(et));
- obj.put(et.getName(), list);
- } else {
- if (obj.containsKey(et.getName())) {
- list = (List) obj.get(et.getName());
- }
- list.add(et.getTextTrim());
- obj.put(et.getName(), list);
- }
- }
- return obj;
- }
- // 测试
- public static void main(String[] args) {
- System.out.println( Xml2JsonUtil.xml2JSON("<MapSet>"
- + "<MapGroup id='Sheboygan'>" + "<Map>"
- + "<Type>MapGuideddddddd</Type>"
- + "<SingleTile>true</SingleTile>" + "<Extension>"
- + "<ResourceId>ddd</ResourceId>" + "</Extension>" + "</Map>"
- + "<Map>" + "<Type>ccc</Type>" + "<SingleTile>ggg</SingleTile>"
- + "<Extension>" + "<ResourceId>aaa</ResourceId>"
- + "</Extension>" + "</Map>" + "<Extension />" + "</MapGroup>"
- + "<ddd>" + "33333333" + "</ddd>" + "<ddd>" + "444" + "</ddd>"
- + "</MapSet>"));
- }
- }
所需要的jar包在我的资源地址:http://download.csdn.net/detail/lovesummerforever/7376755
http://blog.csdn.net/lovesummerforever/article/details/26396465
http://hanyi366.iteye.com/blog/1162365
- 顶
- 0
- 踩
- 0
java XML转JSON格式的更多相关文章
- 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.j ...
- java后台对json格式数据的解析
Json 和 Jsonlib 的使用 什么是 Json JSON(JvaScript Object Notation)(官网网站:http://www.json.org/)是 一种轻量级的数据交换格式 ...
- fastJson在java后台转换json格式数据探究(二)--处理数组/List/Map
作者:buster2014 推荐:长安散人 fastJson在java后台转换json格式数据探究(二)--处理数组/List/Map JSON字符串与Java对象的转换 1.将Java对象或Java ...
- 【.net 深呼吸】聊聊WCF服务返回XML或JSON格式数据
有时候,为了让数据可以“跨国经营”,尤其是HTTP Web有关的东东,会将数据内容以 XML 或 JSON 的格式返回,这样一来,不管客户端平台是四大文明古国,还是处于蒙昧时代的原始部落,都可以使用这 ...
- fastJson java后台转换json格式数据
什么事JSON? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Progra ...
- JSON(三)——java中对于JSON格式数据的解析之json-lib与jackson
java中对于JSON格式数据的操作,主要是json格式字符串与JavaBean之间的相互转换.java中能够解析JSON格式数据的框架有很多,比如json-lib,jackson,阿里巴巴的fast ...
- .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> /// 发送消息 // ...
随机推荐
- js、html中的单引号、双引号及其转义使用
js.html中的单引号.双引号及其转义使用在js中对相关字符做判断或取值的时候很多情况下都会用到这些. ------ 在一个网页中的按钮,写onclick事件的处理代码,不小心写成如下:<in ...
- [转]慎用InputStream的read()方法
InputStream 此抽象类是表示字节输入流的所有类的超类. 我们从输入流中读取数据最常用的方法基本上就是如下 3 个 read() 方法了: 1 . read () 方法,这个方法 从输入流中读 ...
- js框架——angular.js(3)
1. 过滤filter 过滤就是将内容进行筛选或者转换或者两者都有,一般的表示方式就是在变量后面添加"|",然后加上过滤条件,如—— {{name|currency}} 这个cur ...
- 常用的JS页面跳转代码调用大全
一.常规的JS页面跳转代码 1.在原来的窗体中直接跳转用 <script type="text/javascript"> window.location.href=&q ...
- android 5.0
google 2014开发大会发布了全新的设计语言Material Design,并计划将其应用到Android.Chrome OS和网页等平台上,而最新发布的Android L系统就采用了这种设计语 ...
- meta 常用标签总结
声明:并非原创 meta元素工有3个可选属性(http-equiv.name.scheme)和一个必选属性(content),content定义与http-equiv或name属性相关的元信息 可选属 ...
- C++中运行外部程序
关于三个SDK函数: WinExec, ShellExecute,CreateProcess 的其他注意事项: [1]定义头文件 必须定义以下两个头文件: #include <shlobj.h& ...
- Nginx将通过IP访问重定向
server { listen 80 default_server; server_name localhost; location / { rewrite ^ http://www.xxx.com/ ...
- 【栈】 poj 1363
poj1363,这道题是数据结构与算法中的经典问题,给定一组进栈顺序,问栈有多少种出去的顺序. #include<stdio.h> #include <stack> #incl ...
- 用FusionChartsFree做饼状图、柱状图、折线图的实例
1.先来看看要进行表现的页面:myChart.jsp <%@ page language="java" contentType="text/html; charse ...