文档章节

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

安石boy
 安石boy
发布于 2016/04/05 16:08
字数 611
阅读 24
收藏 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
广州
程序员
私信 提问
JSON-lib框架,转换JSON、XML不再困难(转)

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

长征2号
2017/10/05
0
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
744
0
JSON-lib框架,转换JSON、XML不再困难

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

ibm_hoojo
2011/04/21
0
0
JSON-lib框架,转换JSON、XML不再困难

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

DavidBao
2015/05/01
0
0
JSON-lib框架,转换JSON、XML

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

五大三粗
2015/11/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 你一口我一口多咬一口是小狗

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文 :分享Roy Orbison的单曲《She's a Mystery to Me》 《She's a Mystery to Me》- Roy Orbison 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
141
4
Spring源码学习笔记-1-Resource

打算补下基础,学习下Spring源码,参考书籍是《Spring源码深度解析》,使用版本是Spring 3.2.x,本来想试图用脑图记录的,发现代码部分不好贴,还是作罢,这里只大略记录下想法,不写太细了 ...

zypy333
今天
13
0
RestClientUtil和ConfigRestClientUtil区别说明

RestClientUtil directly executes the DSL defined in the code. ConfigRestClientUtil gets the DSL defined in the configuration file by the DSL name and executes it. RestClientUtil......

bboss
今天
21
0

中国龙-扬科
昨天
4
0
Linux系统设置全局的默认网络代理

更改全局配置文件/etc/profile all_proxy="all_proxy=socks://rahowviahva.ml:80/"ftp_proxy="ftp_proxy=http://rahowviahva.ml:80/"http_proxy="http_proxy=http://rahowviahva.ml:80/"......

临江仙卜算子
昨天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部