文档章节

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

安石boy
 安石boy
发布于 2016/04/05 16:08
字数 611
阅读 19
收藏 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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

vue+element-ui操作删除(单行和批量删除)

页面展示: <template><!-- 表格内容 --><el-table :data="packData" border style="width: 100%" ref="multipleTable" @selection-change="handleSelectionChange"><el-tab......

琴妹
5分钟前
0
0
基于vue(element ui) + ssm + shiro 的权限框架

zhcc 基于vue(element ui) + ssm + shiro 的权限框架 引言 心声 现在的Java世界,各种资源很丰富,不得不说,从分布式,服务化,orm,再到前端控制,权限等等玲琅满目,网上有句话说,语言框架...

DarrenHu_吴邪
12分钟前
0
1
数据库水平切分(MyCat分片)

范围分片 io.mycat.route.function.AutoPartitionByLong 自动范围分片 Function名称:rang-long(配置文件默认) 枚举分片 io.mycat.route.function.PartitionByFileMap 枚举分片 Funtion名称...

这很耳东先生
14分钟前
0
0
读《HeadFirst设计模式》笔记之外观模式

外观模式:提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。 举个栗子: 建了一个家庭影院,但是每次享受家庭影院时,你发现需要执行 将灯...

suyain
15分钟前
0
0
MongoDB分片配置

简单注解: mongos 路由进程, 应用程序接入mongos再查询到具体分片,监听端口默认27017 config server 路由表服务, 每一台都具有全部chunk的路由信息 shard为数据存储分片, 每一片都可以是...

LUIS1983
22分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部