文档章节

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

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

没有更多内容

加载失败,请刷新页面

加载更多

理解JavaScript普通函数以及箭头函数里使用的this

this 普通函数的this 普通函数的this是由动态作用域决定,它总指向于它的直接调用者。具体可以分为以下四项: this总是指向它的直接调用者, 例如 obj.func() ,那么func()里的this指的是obj...

Jack088
5分钟前
0
0
RPC框架几行代码就够了

摘自梁飞的博客 - RPC框架几行代码就够了 简易RPC框架实现: /* * Copyright 2011 Alibaba.com All right reserved. This software is the * confidential and proprietary information ......

千面人
13分钟前
10
0
10 道关于 Java 泛型的面试题

1.Java中的泛型是什么 ? 使用泛型的好处是什么? 这是在各种Java泛型面试中,一开场你就会被问到的问题中的一个,主要集中在初级和中级面试中。那些拥有Java1.4或更早版本的开发背景的人都知道...

蚂蚁-Declan
23分钟前
1
0
配置Git

1.首先在本地创建ssh key; $ ssh-keygen -t rsa -C "your_email@youremail.com" 后面的your_email@youremail.com改为你在github上注册的邮箱,之后会要求确认路径和输入密码,我们这使用默认...

15834278076
24分钟前
0
0
day126-20181024-英语流利阅读-待学习

看脸时代,男人也要化妆 Lala 2018-10-24 1.今日导读 十年前,或许绝大多数男生都认为男性化妆是一件很滑稽的事。但现在,从电视荧幕上化妆的小鲜肉,到社交媒体涌现的大批男性美妆博主、网络...

飞鱼说编程
25分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部