分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

xml转json

发布时间:2023-09-06 01:59责任编辑:董明明关键词:jsjsonxml
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
 
 
    public static  String xmlToJSON(String xml,int jsonType) {   
        JSONObject obj = new JSONObject();   
        try {   
            InputStream is = new ByteArrayInputStream(xml.getBytes("utf-8"));   
            SAXBuilder sb = new SAXBuilder();   
            Document doc = sb.build(is);   
            Element root = doc.getRootElement();   
            Map map=iterateElement(root);   
           obj.put(root.getName(),map);   
           return obj.toString();   
        } catch (Exception e) {   
            e.printStackTrace();   
            return null;   
        }   
    }   
   
   
    private static Map  iterateElement(Element root) {   
        List childrenList = root.getChildren();   
        Element element = null;   
        Map map = new HashMap();   
        List list = null;   
        for (int i = 0; i < childrenList.size(); i++) {   
            list = new ArrayList();   
            element = (Element) childrenList.get(i);   
            if(element.getChildren().size()>0){   
                if(root.getChildren(element.getName()).size()>1){   
                    if (map.containsKey(element.getName())) {   
                        list = (List) map.get(element.getName());   
                    }   
                    list.add(iterateElement(element));   
                    map.put(element.getName(), list);   
                }else{   
                    map.put(element.getName(), iterateElement(element));   
                }   
            }else {   
                if(root.getChildren(element.getName()).size()>1){   
                    if (map.containsKey(element.getName())) {   
                        list = (List) map.get(element.getName());   
                    }   
                    list.add(element.getTextTrim());   
                    map.put(element.getName(), list);   
                }else{   
                    map.put(element.getName(), element.getTextTrim());   
                }   
            }   
        }   
           
        return map;   
    }   

xml转json

原文地址:https://www.cnblogs.com/bchange/p/9181998.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved