xml转json

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;   
    }   

 

posted @ 2018-06-14 10:50  jwcc  阅读(594)  评论(0编辑  收藏  举报