日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

JAVA工具方法 —— JSON转XML 和 XML转JSON

發(fā)布時(shí)間:2023/12/20 asp.net 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA工具方法 —— JSON转XML 和 XML转JSON 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

這陣子一直在做一個(gè)三方支付,數(shù)據(jù)傳遞用的都是xml 但是在項(xiàng)目里都是用的json,沒(méi)辦法 研究了下json和xml互轉(zhuǎn)的方法 這里做下記錄。

?1. json轉(zhuǎn)xml 相對(duì)簡(jiǎn)單些 用遞歸即可實(shí)現(xiàn)

/*** Map or JSON 轉(zhuǎn)換成Xml** fastJSON實(shí)現(xiàn)了Map<String,Object> 所以此處直接傳json 也可以的*/public static String mapToXMLTest2(Map map, StringBuffer sb) {Set set = map.keySet();for (Iterator it = set.iterator(); it.hasNext(); ) {String key = (String) it.next();Object value = map.get(key);if (null == value)value = "";if (value.getClass().getName().equals("java.util.ArrayList")) {LinkedList list = (LinkedList) map.get(key);sb.append("<" + key + ">");for (int i = 0; i < list.size(); i++) {HashMap hm = (HashMap) list.get(i);mapToXMLTest2(hm, sb);}sb.append("</" + key + ">");} else {if (value instanceof HashMap) {sb.append("<" + key + ">");mapToXMLTest2((HashMap) value, sb);sb.append("</" + key + ">");} else {sb.append("<" + key + ">" + value + "</" + key + ">");}}}return sb.toString();}

2. xml字符串 轉(zhuǎn)JSON

? ? xml轉(zhuǎn)JON 需要借助 jackSon的 fastxml包來(lái)實(shí)現(xiàn)

<!-- fasterxml --><dependency><groupId>com.fasterxml</groupId><artifactId>jackson-xml-databind</artifactId><version>0.6.2</version></dependency> /*** xml 轉(zhuǎn)json*/public static JSONObject convertXmlToJson(String xml) throws IOException {XmlMapper xmlMapper = new XmlMapper();JSONObject param = xmlMapper.readValue(xml, JSONObject.class);return param;}

利用XmlMapper這個(gè)類, 簡(jiǎn)單兩段代碼就可以搞定 但是該方法有個(gè)缺點(diǎn), 如果你的xml字符串轉(zhuǎn)換的內(nèi)容里 有數(shù)組的情況下, 直接這樣轉(zhuǎn)是不行的。 這種情況就要自己建立相應(yīng)的實(shí)體類來(lái)做接收。 注:實(shí)體要有相應(yīng)的getset方法, 并要保證和xml中的字段名一一對(duì)應(yīng)。

轉(zhuǎn)載于:https://my.oschina.net/danjuan/blog/1831113

總結(jié)

以上是生活随笔為你收集整理的JAVA工具方法 —— JSON转XML 和 XML转JSON的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。