文档章节

json-lib中xml转json的格式区别

安石boy
 安石boy
发布于 2016/04/05 16:08
字数 611
阅读 19
收藏 0
点赞 1
评论 0

今天使用json-lib的xml转json功能时,有两种类型数据格式会出现不同的结果

一、带制表符的xml数据格式

    这种格式在嵌套格式数据时,转换后的数据会将嵌套中一级的去掉,如下面的代码会httpsql去掉

    下面数据的第一个childrens有两个子节点,第二个childrens有一个节点

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <https>
        <http>
            <!-- URL -->
            <url></url>
            <!-- 请求开始时间 -->
            <starttime>2</starttime>
            <!-- 用户代理 -->
            <useragent>3</useragent>
            <!-- 请求次数 -->
            <httpreqnum>4</httpreqnum>
            <!-- 耗时 -->
            <timenum>5</timenum>
            <!-- 最大并发 -->
            <concurrencynum>6</concurrencynum>
            <!-- Jdbc执行数 -->
            <jdbcexenum>7</jdbcexenum>
            <!-- Jdbc出错数 -->
            <jdbcerrornum>8</jdbcerrornum>
            <!-- Jdbc时间 -->
            <jdbctime>9</jdbctime>
            <!-- 事务提交数 -->
            <commitnum>10</commitnum>
            <!-- 事务回滚数 -->
            <rollbacknum>11</rollbacknum>
            <!-- 读取行数 -->
            <readnum>12</readnum>
            <!-- 更新行数 -->
            <updatenum>13</updatenum>
            <!-- 请求IP -->
            <ipaddr>14</ipaddr>
            <!-- 登录名称 -->
            <loginname>15</loginname>
            <!-- 登录账户 -->
            <loginusername>16</loginusername>
            <childrens>
                <httpsql>
                    <!-- sql语句 -->
                    <sql>1</sql>
                    <!-- 耗时 -->
                    <exesqltime>2</exesqltime>
                </httpsql>
                <httpsql>
                    <!-- sql语句 -->
                    <sql>3</sql>
                    <!-- 耗时 -->
                    <exesqltime>4</exesqltime>
                </httpsql>
            </childrens>
        </http>
        <http>
            <!-- URL -->
            <url>1</url>
            <!-- 请求开始时间 -->
            <starttime>2</starttime>
            <!-- 用户代理 -->
            <useragent>3</useragent>
            <!-- 请求次数 -->
            <httpreqnum>4</httpreqnum>
            <!-- 耗时 -->
            <timenum>5</timenum>
            <!-- 最大并发 -->
            <concurrencynum>6</concurrencynum>
            <!-- Jdbc执行数 -->
            <jdbcexenum>7</jdbcexenum>
            <!-- Jdbc出错数 -->
            <jdbcerrornum>8</jdbcerrornum>
            <!-- Jdbc时间 -->
            <jdbctime>9</jdbctime>
            <!-- 事务提交数 -->
            <commitnum>10</commitnum>
            <!-- 事务回滚数 -->
            <rollbacknum>11</rollbacknum>
            <!-- 读取行数 -->
            <readnum>12</readnum>
            <!-- 更新行数 -->
            <updatenum>13</updatenum>
            <!-- 请求IP -->
            <ipaddr>14</ipaddr>
            <!-- 登录名称 -->
            <loginname>15</loginname>
            <!-- 登录账户 -->
            <loginusername>16</loginusername>
            <childrens>
                <httpsql>
                    <!-- sql语句 -->
                    <sql>3</sql>
                    <!-- 耗时 -->
                    <exesqltime>4</exesqltime>
                </httpsql>
            </childrens>
        </http>
    </https>
</root>

    转换后的结果

[[{"url":[],"starttime":"2","useragent":"3","httpreqnum":"4","timenum":"5","concurrencynum":"6","jdbcexenum":"7","jdbcerrornum":"8","jdbctime":"9","commitnum":"10","rollbacknum":"11","readnum":"12","updatenum":"13","ipaddr":"14","loginname":"15","loginusername":"16","childrens":[{"sql":"1","exesqltime":"2"},{"sql":"3","exesqltime":"4"}]},{"url":"1","starttime":"2","useragent":"3","httpreqnum":"4","timenum":"5","concurrencynum":"6","jdbcexenum":"7","jdbcerrornum":"8","jdbctime":"9","commitnum":"10","rollbacknum":"11","readnum":"12","updatenum":"13","ipaddr":"14","loginname":"15","loginusername":"16","childrens":[{"sql":"3","exesqltime":"4"}]}]]

 二、压缩后的xml格式数据格式

    使用压缩工具将xml数据压缩成为一行后,转换的结果

[[{"url":[],"starttime":"2","useragent":"3","httpreqnum":"4","timenum":"5","concurrencynum":"6","jdbcexenum":"7","jdbcerrornum":"8","jdbctime":"9","commitnum":"10","rollbacknum":"11","readnum":"12","updatenum":"13","ipaddr":"14","loginname":"15","loginusername":"16","childrens":[{"sql":"1","exesqltime":"2"},{"sql":"3","exesqltime":"4"}]},{"url":"1","starttime":"2","useragent":"3","httpreqnum":"4","timenum":"5","concurrencynum":"6","jdbcexenum":"7","jdbcerrornum":"8","jdbctime":"9","commitnum":"10","rollbacknum":"11","readnum":"12","updatenum":"13","ipaddr":"14","loginname":"15","loginusername":"16","childrens":{"httpsql":{"sql":"3","exesqltime":"4"}}}]]

区别在于childrens的结果,压缩后转换会出现httpsql的节点,先记录,后续再查看源码

© 著作权归作者所有

共有 人打赏支持
安石boy

安石boy

粉丝 1
博文 3
码字总数 872
作品 0
广州
程序员
JSONObject简介

摘要: 本节摘要:之前对JSON做了一次简单的介绍,并把JSON和XML做了一个简单的比较;那么,我就在想,如果是一个json格式的字符串传到后台,需要怎么对其处理?如果前台页面需要后台返回的是...

vane_ ⋅ 2012/08/10 ⋅ 0

JSON-lib框架,转换JSON、XML不再困难(转)

Json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对象。 一、 准备工作 1、 首先要去官方...

长征2号 ⋅ 2017/10/05 ⋅ 0

JSON-lib框架,转换JSON、XML不再困难

JSON-lib框架,转换JSON、XML不再困难 Json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对...

DavidBao ⋅ 2015/05/01 ⋅ 0

JSON-lib框架,转换JSON、XML

Json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对象。 一、 准备工作 1、 首先要去官方...

五大三粗 ⋅ 2015/11/03 ⋅ 0

JSONObject与JSONArray用法和区别

JSON 在线API:http://json-lib.sourceforge.net/apidocs/jdk15/index.html 1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons...

王小盼 ⋅ 2016/03/02 ⋅ 0

JSON-lib框架,转换JSON、XML不再困难

Json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对象。 一、 准备工作 1、 首先要去官方...

ibm_hoojo ⋅ 2011/04/21 ⋅ 0

有效选择七个关于Java的JSON开源类库

April 4, 2014 By Constantin Marian Alin 翻译:无若 (英语原文:http://www.developer.com/lang/jscript/top-7-open-source-json-binding-providers-available-today.html) 简介 JSON是J......

无若 ⋅ 2014/04/19 ⋅ 1

有效选择七个关于 Java 的 JSON 开源类库

有效选择七个关于Java的JSON开源类库 April 4, 2014 By Constantin Marian Alin 翻译:无若 (英语原文:http://www.developer.com/lang/jscript/top-7-open-source-json-binding-providers-......

无若 ⋅ 2014/04/19 ⋅ 14

Web开发系列 - JSON

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子...

长征2号 ⋅ 2017/01/05 ⋅ 0

json与xml的区别

(点击获取更多资料的下载) 曾几何时,XML是程序员的宠儿,是数据传输、API、AJAX应用等方面的不二选择,但自从JSON横空出世后,或者你会发觉你身边就有很多人开 始抛弃XML,在他们的心目中...

wersdffg ⋅ 2012/10/22 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JavaScript零基础入门——(十)JavaScript的DOM基础

JavaScript零基础入门——(十)JavaScript的DOM基础 欢迎大家回到我们的JavaScript零基础入门,上一节课,我们了解了JavaScript中的函数,这一节课,我们来了解一下JavaScript的DOM。 第一节...

JandenMa ⋅ 47分钟前 ⋅ 0

Spring mvc DispatchServlet 实现原理

在Spring中, ContextLoaderListener只是辅助类,在web 容器启动的时候查找并创建WebApplicationContext对象,通过该对象进行加载spring的配置文件。而真正的逻辑实现其实是在DispatcherSer...

轨迹_ ⋅ 58分钟前 ⋅ 0

Weex起步

本教程假设你已经在你的本地环境安装了node 其实weex起步教程在 https://github.com/lilugirl/incubator-weex 项目说明文件中都已经有了,但为了有些同学看到英文秒变文盲,所以这里我重新写...

lilugirl ⋅ 今天 ⋅ 0

Jenkins实践1 之安装

1 下载 http://mirrors.jenkins.io/war/latest/jenkins.war 2 启动 java -jar jenkins.war 前提:安装jdk并配置环境变量 启动结果节选: ************************************************......

晨猫 ⋅ 今天 ⋅ 0

组合数学 1-2000 中,能被6或10整除的数的个数

1--2000 中,能被6或10整除的数的个数 利用集合的性质 能被6整除的个数 2000/6 = 333 能被10整除的个数 2000/10 = 200 能被6和10整除的个数 2000/30 = 66 能被6或10整除的个数 333+200-66 =...

阿豪boy ⋅ 今天 ⋅ 0

一篇文章学懂Shell脚本

Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。 Shell可以直接使用在win/Unix/Linux上面,并且可以调用...

Jake_xun ⋅ 今天 ⋅ 0

大数据工程师需要精通算法吗,要达到一个什么程度呢?

机器学习是人工智能的一个重要分支,而机器学习下最重要的就是算法,本文讲述归纳了入门级的几个机器学习算法,加大数据学习群:716581014一起加入AI技术大本营。 1、监督学习算法 这个算法由...

董黎明 ⋅ 今天 ⋅ 0

Kylin 对维度表的的要求

1.要具有数据一致性,主键值必须是唯一的;Kylin 会进行检查,如果有两行的主键值相同则会报错。 2.维度表越小越好,因为 Kylin 会将维度表加载到内存中供查询;过大的表不适合作为维度表,默...

无精疯 ⋅ 今天 ⋅ 0

58到家数据库30条军规解读

军规适用场景:并发量大、数据量大的互联网业务 军规:介绍内容 解读:讲解原因,解读比军规更重要 一、基础规范 (1)必须使用InnoDB存储引擎 解读:支持事务、行级锁、并发性能更好、CPU及...

kim_o ⋅ 今天 ⋅ 0

代码注释中顺序更改 文件读写换行

`package ssh; import com.xxx.common.log.LogFactory; import com.xxx.common.log.LoggerUtil; import org.apache.commons.lang3.StringUtils; import java.io.*; public class DirErgodic ......

林伟琨 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部