XML转换成JSON

对于XML转换成JSON,已在网上找到工具类,测试符合需要,就没有自己写

XML字符串转换成JSON

所需jar包地址:http://download.csdn.net/detail/yuxiangaaaaa/9613995

/**
	 * xml string字符串转换成JSON
	 * @param xmlStr
	 * @return
	 */
	public static JSONObject xmlString2Json(String xmlStr){	
		System.out.println("xmlStr转换成json:");
		JSONObject json = new JSONObject();  
        try {  
            InputStream is = new ByteArrayInputStream(xmlStr.getBytes("utf-8"));  
            SAXBuilder sb = new SAXBuilder();  
            Document doc = sb.build(is);  
            Element root = doc.getRootElement();  
            json.put(root.getName(), iterateElement(root));  
            return json;  
        } catch (Exception e) {  
            e.printStackTrace();  
            return null;
        }
	}
测试:

String xmlStr = "2122named";
System.out.println(xmlString2Json(xmlStr));
测试结果:

xmlStr转换成json:
{"xml":{"students":[{"student":[{"id":["2122"],"name":["named"]}]}]}}

读取FILE文件的XML内容转换成JSON

project src目录下创建test.xml

  
  
      
        001  
        st001  
          
            0001  
              
                xue  
                bo  
              
          
        
方法如下:
/**
	 * 读取File文件xml转换成JSON 
	 * @param file
	 * @return
	 */
    public static JSONObject xmlFile2Json(File file) {
    	System.out.println("xmlFile转换成json:");
        JSONObject json = new JSONObject();  
        try {  
            SAXBuilder sb = new SAXBuilder();  
            Document doc = sb.build(file);  
            Element root = doc.getRootElement();  
            json.put(root.getName(), iterateElement(root));  
            return json;  
        } catch (Exception e) {  
            e.printStackTrace();  
            return null;  
        }  
    }
	 /**
	  * 迭代 
	  * @param element
	  * @return
	  */
    @SuppressWarnings("unchecked")
	private static Map  iterateElement(Element element) {  
        List jiedian = element.getChildren();  
        Element et = null;  
        Map obj = new HashMap();  
        List list = null;  
        for (int i = 0; i < jiedian.size(); i++) {  
            list = new LinkedList();  
            et = (Element) jiedian.get(i);  
            if (et.getTextTrim().equals("")) {  
                if (et.getChildren().size() == 0)  
                    continue;  
                if (obj.containsKey(et.getName())) {  
                    list = (List) obj.get(et.getName());  
                }  
                list.add(iterateElement(et));  
                obj.put(et.getName(), list);  
            } else {  
                if (obj.containsKey(et.getName())) {  
                    list = (List) obj.get(et.getName());  
                }  
                list.add(et.getTextTrim());  
                obj.put(et.getName(), list);  
            }  
        }  
        return obj;  
    }  测试: 
  
File file = new File("src/test.xml");
System.out.println(xmlFile2Json(file));
测试结果:

xmlFile转换成json:
{"root":{"classs":[{"id":["001"],"student":[{"id":["0001"],"name":[{"last":["bo"],"first":["xue"]}]}],"name":["st001"]}]}}

JSON转换成XML: JSON转换成XML、XML转换成JSON

你可能感兴趣的:(JAVA--xml解析,JSON转换成XML,XML转换成JSON)