この記事では、XMLドキュメントをJSON形式のデータに変換するJavaの例を紹介します。それはあなたと共有されます。詳細は次のとおりです。
関数
XMLドキュメントをJSON形式のデータに変換します
説明します
依存関係パッケージ:
1。JDOM-2.0.2.JAR:XML解析ツールキット。
2。FastJSON-1.1.36.jar:Alibabaが開発した高性能JSONツールキット
プログラムソースコード
package com.xxx.open.pay.util;import com.alibaba.fastjson.JSONObject;import org.jdom2.Element;import org.jdom2.JDOMException;import org.jdom2.input.SAXBuilder;import java.io.ByteArrayInputStream;import java.io.IOException;import java.io.InputStream;import java.util.linkedlist; Import java.util.list;/***は、2015/5/19に[email protected]によって作成されました。 */public class xmlutil {public static jsonobject xml2json(byte [] xml)throws jdomexception、ioexception {jsonobject json = new jsonobject(); inputstream is = new bytearrayinputStream(xml); saxbuilder sb = new SaxBuilder(); org.jdom2.document doc = sb.build(is);要素root = doc.getRootelement(); json.put(root.getName()、iteateElement(root)); jsonを返します。 } private static jsonObject itereTelement(element element){list node = element.getChildren();要素et = null; jsonobject obj = new jsonobject();リストリスト= null; for(int i = 0; i <node.size(); i ++){list = new linkedList(); et =(要素)node.get(i); if(et.getTextTrim()。equals( "")){if(et.getChildren()。size()== 0)継続; 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); }} objを返します。 } public static void main(string [] args)throws jdomexception、ioexception {string xml = "<?xml version =/" 1.0/"encoding =/" utf-8/"?> <mobaoaccount messageType =/" usermobilepay/" PlatformId =/"b2ctest/"> <Orderno> M20150521084825 </orderno> <credeamt> 5000.00 </tredeamt> <commission> 0.5 </commissio n> <userid> Zhuxiaolong </userId> <merchid> zhuxiaolong1 </merchid> <edraweType> 0 </tradeType> <custparam> 123 </custparam> <NotifyUrl> http://mobaopay.com/callback.do </notifyurl> <cordesummary>注文</cordesummary> </mobaoAccount> "; jsonobject json = xml2json(xml.getBytes()); system.out.println(json.tojsonstring()); }}
実行結果
XMLオリジナルテキスト:
<?xml version = "1.0" encoding = "utf-8"?> <mobaoaccount messageType = "usermobilepay" platformid = "b2ctest"> <orderno> m20150521084825 </orderno> <cordeamt> 5000.00 </commission> 0.5 commission> <merchid> xiaolong1 </merchid> <tradetype> 0 </custparam> 123 </custparam> <notifyurl> http://mobaopay.com/callback.do </notifyurl> <tradesummary>注文
変換されたJSON形式データ
{"mobaoAccount":{"commission":["0.5"]、 "custparam":["123"]、 "merchid":["zhuxiaolong1"]、 "notifyurl":["http://mobaopay.com/callback.do"]、 "m2015052108825" "5000.00"]、「tradesummary ":[" order "]、" userid ":[" zhuxiaolong "]、" tradetype ":[" 0 "]}}上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。