json与xml格式的互转

时间:2020-11-27 19:05:36
  1. /**  
  2.     * JsonObject转换成xml  
  3.     *   
  4.     * @param json  
  5.     * @return  
  6.     */  
  7.     public static String JsonBean2XmlString(JSONObject json){  
  8.         System.out.println("JsonBean转换成xml:");  
  9.         System.out.println("json:"+json);  
  10.         StringBuffer sb = new StringBuffer("<xml><p>");  
  11.         for(Object key : json.keySet()){  
  12.             sb.append("<").append(key).append(">");  
  13.             Object value = json.get(key);  
  14.             //判断value是否含有JSONArray  
  15.             JSONObject jsonV = ((JSONObject)value);  
  16.             for(Object key2 : jsonV.keySet()){  
  17.                 sb.append("<").append(key2).append(">");  
  18.                 Object value2 = jsonV.get(key2);  
  19.                 sb.append(value2);  
  20.                 sb.append("</").append(key2).append(">");  
  21.             }  
  22.             sb.append("</").append(key).append(">");  
  23.         }  
  24.         sb.append("</p></xml>");  
  25.         return sb.toString();  
  26.     } 

  1. /**  
  2.     * Json多层数据结构转换成xml  
  3.     * @param json  
  4.     * @return  
  5.     */  
  6.     public static String Json2XmlString(String jsonStr){  
  7.         System.out.println("json转换成xmlString:");  
  8.         JSONObject json = JSONObject.fromObject(jsonStr);  
  9.         StringBuffer sb = new StringBuffer("<xml>");  
  10.         for(Object key : json.keySet()){  
  11.             sb.append("<").append(key).append(">");             
  12.             Object value = json.get(key);  
  13.             sb.append(iteraorJson(value));  
  14.             sb.append("</").append(key).append(">");  
  15.         }  
  16.         sb.append("</xml>");  
  17.         return sb.toString();  
  18.     }  
  19.     /**  
  20.      * 迭代判断value是否还包含jSONObject  
  21.      * @param value  
  22.      * @return  
  23.      */  
  24.     public static String iteraorJson(Object value){  
  25.         StringBuffer sb = new StringBuffer("");  
  26.         if((value.toString().contains(":"))){  
  27.             JSONObject json = ((JSONObject)value);  
  28.             for(Object key : json.keySet()){  
  29.             sb.append("<").append(key).append(">");  
  30.             Object value2 = json.get(key);  
  31.             sb.append(iteraorJson(value2));  
  32.             sb.append("</").append(key).append(">");  
  33.         }             
  34.         }else{  
  35.             sb.append(value);  
  36.         }         
  37.         return sb.toString();  
  38.     }