<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      SpringBoot Xml轉Json對象

      一、導入需要的依賴

      <dependency>
           <groupId>maven</groupId>
           <artifactId>dom4j</artifactId>
            <version>1.7-20060614</version>
      </dependency>

      二、xml轉Json對象工具類編寫

      import com.alibaba.fastjson.JSONArray;
      import com.alibaba.fastjson.JSONObject;
      import org.dom4j.Document;
      import org.dom4j.DocumentException;
      import org.dom4j.DocumentHelper;
      import org.dom4j.Element;
      import java.util.List;
      
      /**
       * @project 
       * @Description XML轉json對象工具類
       * @Author songwp
       * @Date 2022/9/20 9:54
       * @Version 1.0.0
       **/
      public class XmltoJsonUtil {
      
          /**
           * 將xml轉換為json對象
           */
          public static JSONObject xmlToJson(String xml) throws DocumentException {
              JSONObject jsonObject = new JSONObject();
              Document document = DocumentHelper.parseText(xml);
              //獲取根節點元素對象
              Element root = document.getRootElement();
              iterateNodes(root, jsonObject);
              return jsonObject;
          }
      
          /**
           * 遍歷元素
           * @param node
           * @param json
           */
          private static void iterateNodes(Element node, JSONObject json) {
              //獲取當前元素名稱
              String nodeName = node.getName();
              //判斷已遍歷的JSON中是否已經有了該元素的名稱
              if(json.containsKey(nodeName)){
                  //該元素在同級下有多個
                  Object Object = json.get(nodeName);
                  JSONArray array = null;
                  if(Object instanceof JSONArray){
                      array = (JSONArray) Object;
                  }else {
                      array = new JSONArray();
                      array.add(Object);
                  }
                  //獲取該元素下所有子元素
                  List<Element> listElement = node.elements();
                  if(listElement.isEmpty()){
                      //該元素無子元素,獲取元素的值
                      String nodeValue = node.getTextTrim();
                      array.add(nodeValue);
                      json.put(nodeName, array);
                      return ;
                  }
                  //有子元素
                  JSONObject newJson = new JSONObject();
                  //遍歷所有子元素
                  for(Element e:listElement){
                      //遞歸
                      iterateNodes(e,newJson);
                  }
                  array.add(newJson);
                  json.put(nodeName, array);
                  return ;
              }
              //該元素同級下第一次遍歷
              //獲取該元素下所有子元素
              List<Element> listElement = node.elements();
              if(listElement.isEmpty()){
                  //該元素無子元素,獲取元素的值
                  String nodeValue = node.getTextTrim();
                  json.put(nodeName, nodeValue);
                  return ;
              }
              //有子節點,新建一個JSONObject來存儲該節點下子節點的值
              JSONObject object = new JSONObject();
              for(Element e:listElement){
                  //遞歸
                  iterateNodes(e,object);
              }
              json.put(nodeName, object);
              return ;
          }
      
          public static void main(String[] args) {
              try {
                  JSONObject object = XmltoJsonUtil.xmlToJson("<auibinsurancecallback><policyinfo><transtype>TKTS</transtype><eticketno>xxx</eticketno><flightnumber>xxx</flightnumber><flightdate>2019-10-16</flightdate><operatetime>2019-10-16 17:20:00</operatetime><insureno>1910161720056066735</insureno><agreeno>102160199</agreeno><policyno></policyno><policyurl><!--[CDATA[]]--></policyurl></policyinfo><returninfo><serialnumber>2019103015284949545354</serialnumber><retruncode>0</retruncode><errormessage><!--[CDATA[xxx]]--></errormessage></returninfo></auibinsurancecallback>");
                  System.out.println(object);
              } catch (DocumentException e) {
                  e.printStackTrace();
              }
          }
      }

      三、方法調用,控制臺輸出如下:

      {
          "auibinsurancecallback":{
              "returninfo":{
                  "errormessage":"",
                  "retruncode":"0",
                  "serialnumber":"2019103015284949545354"
              },
              "policyinfo":{
                  "policyurl":"",
                  "operatetime":"2019-10-16 17:20:00",
                  "transtype":"TKTS",
                  "flightdate":"2019-10-16",
                  "insureno":"1910161720056066735",
                  "flightnumber":"xxx",
                  "agreeno":"102160199",
                  "policyno":"",
                  "eticketno":"xxx"
              }
          }
      }
      posted @ 2022-09-20 10:16  [奮斗]  閱讀(968)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 婷婷六月天在线| 婷婷色爱区综合五月激情韩国| 久久永久视频| 四虎库影成人在线播放| 久久婷婷五月综合色和啪| 亚洲av无码成人精品区一区| 精品久久人人妻人人做精品| 国产成人精品一区二区三| 国产人妻丰满熟妇嗷嗷叫| 国内揄拍国内精品对久久| 亚洲美免无码中文字幕在线| 久久午夜无码鲁丝片直播午夜精品 | 国产国拍亚洲精品永久软件| 精品久久综合日本久久网| 亚洲熟妇自偷自拍另亚洲| 国产成人精品永久免费视频| 成年午夜免费韩国做受视频| 无码av永久免费专区麻豆| 午夜av福利一区二区三区| 亚洲电影天堂在线国语对白| 亚洲第一极品精品无码久久| 国产一级二级三级毛片| 双乳奶水饱满少妇呻吟免费看| 欧洲中文字幕一区二区| 国产乱色熟女一二三四区| 国产伦一区二区三区久久| 卫辉市| 成在线人永久免费视频播放| 国产剧情福利一区二区麻豆| 久久精品人妻少妇一区二| 欧美精品一产区二产区| 国产a在视频线精品视频下载 | 日韩在线视频线观看一区| 国产欧美综合在线观看第十页| 精品国产乱一区二区三区| 女人与牲口性恔配视频免费| 色综合久久综合香蕉色老大| 亚洲色婷婷综合开心网| 亚洲 国产 制服 丝袜 一区| 国产偷国产偷亚洲高清午夜| 亚洲一区二区三区在线|