json-lib中xml轉json的格式區別

今天使用json-lib的xml轉json功能時,有兩種類型數據格式會出現不一樣的結果sql

1、帶製表符的xml數據格式json

    這種格式在嵌套格式數據時,轉換後的數據會將嵌套中一級的去掉,以下面的代碼會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

[[{"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"}]}]]

 2、壓縮後的xml格式數據格式代理

    使用壓縮工具將xml數據壓縮成爲一行後,轉換的結果code

[[{"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的節點,先記錄,後續再查看源碼xml

相關文章
相關標籤/搜索