JSON转换成XML、XML转换成JSON
来源:互联网 发布:今年淘宝双11销售额 编辑:程序博客网 时间:2024/06/06 03:10
这几天需要JSON与XML之间转换的工具类,网上搜了好多都不是自己需要的,于是自己编写了一个。
所需jar包地址:http://download.csdn.net/detail/yuxiangaaaaa/9613995
一、JSON转XML
(1)JSONbean 转换成XML
public class People {People(int id,String name){this.id = id;this.name = name;}private int id;private String name;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}JSONbean方法:
/** * JsonObject转换成xml * * @param json * @return */public static String JsonBean2XmlString(JSONObject json){System.out.println("JsonBean转换成xml:");System.out.println("json:"+json);StringBuffer sb = new StringBuffer("<xml><p>"); for(Object key : json.keySet()){ sb.append("<").append(key).append(">"); Object value = json.get(key); //判断value是否含有JSONArray JSONObject jsonV = ((JSONObject)value); for(Object key2 : jsonV.keySet()){ sb.append("<").append(key2).append(">"); Object value2 = jsonV.get(key2); sb.append(value2); sb.append("</").append(key2).append(">"); } sb.append("</").append(key).append(">"); } sb.append("</p></xml>"); return sb.toString(); }
main测试:
JSONObject json = new JSONObject(); People p = new People(9203,"xiaobao"); People p2 = new People(943,"xiaoxiao"); json.put("p1", p); json.put("p2", p2);System.out.println(JsonBean2XmlString(json));测试输出结果:
JsonBean转换成xml:json:{"p1":{"id":9203,"name":"xiaobao"},"p2":{"id":943,"name":"xiaoxiao"}}<xml><p><p1><id>9203</id><name>xiaobao</name></p1><p2><id>943</id><name>xiaoxiao</name></p2></p></xml>
(2)多层嵌套的JSON转换
如:{"p":{"p1":{"p2":{"id":2222,"name":"xiao2"}},"name":"xiao3"},"id2":"iii","name2":"ffff"}
/** * Json多层数据结构转换成xml * @param json * @return */ public static String Json2XmlString(String jsonStr){ System.out.println("json转换成xmlString:"); JSONObject json = JSONObject.fromObject(jsonStr); StringBuffer sb = new StringBuffer("<xml>"); for(Object key : json.keySet()){ sb.append("<").append(key).append(">"); Object value = json.get(key); sb.append(iteraorJson(value)); sb.append("</").append(key).append(">"); } sb.append("</xml>"); return sb.toString(); } /** * 迭代判断value是否还包含jSONObject * @param value * @return */ public static String iteraorJson(Object value){ StringBuffer sb = new StringBuffer(""); if((value.toString().contains(":"))){ JSONObject json = ((JSONObject)value); for(Object key : json.keySet()){ sb.append("<").append(key).append(">"); Object value2 = json.get(key); sb.append(iteraorJson(value2)); sb.append("</").append(key).append(">"); } }else{ sb.append(value); } return sb.toString(); }
测试:
String jsonStr = "{\"p\":{\"p1\":{\"p2\":{\"id\":2222,\"name\":\"xiao2\"}},\"name\":\"xiao3\"},\"id2\":\"iii\",\"name2\":\"ffff\"}";System.out.println("jsonStr:"+jsonStr);System.out.println(Json2XmlString(jsonStr));结果输出:
jsonStr:{"p":{"p1":{"p2":{"id":2222,"name":"xiao2"}},"name":"xiao3"},"id2":"iii","name2":"ffff"}json转换成xmlString:<xml><p><p1><p2><id>2222</id><name>xiao2</name></p2></p1><name>xiao3</name></p><id2>iii</id2><name2>ffff</name2></xml>
XML转换成JSON,见下一篇http://blog.csdn.net/yuxiangaaaaa/article/details/52330221
0 0
- XML转换成JSON
- xml转换成json
- XML转换成json
- XML转换成JSON
- xml转换成json
- JSON转换成XML、XML转换成JSON
- XML格式转换成JSON
- C#将XML转换成JSON转换XML
- json,xml转换成hash (brown_zhang)
- XML转换成JSON (C#版)
- 将String格式XML转换成JSON
- JSON格式转换成XML格式
- XML与JSON转换
- java 转换xml json
- xStream转换XML、JSON
- xml转换json
- xStream转换XML、JSON
- JSON-XML转换工具
- LintCode(M)背包问题
- XZ压缩最新压缩率之王
- 关于线程问题的一些总结
- 迁移学习( Transfer Learning )
- Python基于flask架构的json串处理
- JSON转换成XML、XML转换成JSON
- VMware Vsphere 6.0安装部署 (一) 总体部署架构
- spring定时任务时间格式cronExpression设置
- 派生类有参构造函数的编程
- Java集合类的总结与比较
- Swift中tableView加载通过xib创建的headerView时,无法显示xib视图内容.
- 二维动态数组申请(中兴笔试后)
- iOS 利用Javascript去操作UIWebView的内容
- hdu3586 Information Disturbing(树形dp)