JSON对象转xml

下面分享一下本人写的工具类,手码的,代码如有写错望指正

 1 //body参数是用来作为xml参数最外层的标签头的
 2 public static String jsontoXmlString(JSONObject jsonObject,String body){
 3      Set f=jsonObject.keySet();
 4     
 5      Iterator jsonIterator=f.iterator();
 6      Map<String,String> map=new HashMap();
 7      while(jsonIterator.hasNext()){
 8         String key=(String) jsonIterator.next();
 9         String value=jsonObject.getString(key);
10         if(value.indexOf("[")==0){
11           String xmlString="";
12           JSONArray array=JSONArray.parseArray(jsonObject.getString(key));
13       for(int i=0;i<array.size();i++){
14           JSONObject jsonVo =JSONObject.parseObject(array.get(i).toString());
        //这里是调用本方法,JsonUtil就是我这个工具类的名字
15 String partxmlString=JsonUtil.jsontoXmlString(jsonVo,"meterList"); 16     xmlString=xmlString+partxmlString; 17 } 18 value=xmlString; 19 } 20 map.put(key,value); 21 }
        //调用下面的方法
22 String xmlString=JsonUtil.getXmlData(bodyKey,map);
             return xmlString;
24 }
//map->xmlString
public static String getXmlData(String bodyKey,Map<String,String> map){
  StringBuffer sb=new StringBuffer();
  if(!"".equals(bodyKey)){
     sb.append("<"+bodyKey+">");
  }
  for(String key:map.keySet()){
    sb.append("<"+key+">"+map.get(key)+"</"+key+">");
  }
  if(!"".equals(bodyKey)){
    sb.append("</"+bodyKey+">");    
  }
  return sb.toString();
}

 

posted @ 2020-04-08 17:38  pengchengcheng  阅读(2605)  评论(0编辑  收藏  举报