Artikel ini memperkenalkan contoh Java yang mengubah dokumen XML menjadi data format JSON. Itu dibagikan dengan Anda. Dengan rincian sebagai berikut:
Fungsi
Konversi dokumen XML ke data format JSON
menjelaskan
Paket Ketergantungan:
1. JDOM-2.0.2.Jar: XML Parsing Toolkit;
2. Fastjson-1.1.36.Jar: Toolkit JSON berkinerja tinggi yang dikembangkan oleh Alibaba
Kode Sumber Program
Paket com.xxx.open.pay.util; import com.alibaba.fastjson.jsonobject; impor org.jdom2.element; impor org.jdom2.jdomexception; impor org.jdom2.input.saxbuilder; impor java.io.bytearrayininputsstream; impor; labao; lepas; lepas; lepas; lepas; lepas; lepas; lepas; lepas; lepas; lepas; lepas; lepas; impor JAVAIO; IMPOROO; java.util.linkedlist; import java.util.list;/*** dibuat oleh [email protected] pada 2015/5/19. */kelas publik xmlutil {public static jsonObject xml2json (byte [] xml) melempar jdomexception, ioException {jsonObject json = new jsonobject (); InputStream adalah = bytearrayInputStream baru (xml); Saxbuilder SB = Saxbuilder baru (); org.jdom2.document doc = sb.build (IS); Elemen root = doc.getrooteLement (); json.put (root.getName (), iterateElement (root)); mengembalikan json; } private static jsonObject iterateElement (elemen elemen) {daftar node = element.getchildren (); Elemen ET = null; JsonObject obj = new jsonObject (); Daftar daftar = null; untuk (int i = 0; i <node.size (); i ++) {list = new LinkedList (); ET = (elemen) node.get (i); if (et.gettexttrim (). Equals ("")) {if (et.getchildren (). size () == 0) Lanjutkan; if (obj.containskey (et.getName ())) {list = (list) obj.get (et.getName ()); } list.add (iterateElement (ET)); obj.put (et.getname (), daftar); } else {if (obj.containskey (et.getName ())) {list = (list) obj.get (et.getName ()); } list.add (et.gettexttrim ()); obj.put (et.getname (), daftar); }} return obj; } public static void main (string [] args) melempar jdomexception, ioException {string xml = "<? Xml Version =/" 1.0/"encoding =/" UTF-8/"?> <MobaoAccount MessageType =/" UsermoobilPay/" PlatformID=/"b2ctest/"><OrderNo>M20150521084825</OrderNo><TradeAmt>5000.00</TradeAmt><Commission>0.5</Commission><UserID>zhuxiaolong</UserID><MerchID>zhuxiaolong1</MerchID><tradeType>0</tradeType><CustParam>123</CustParam> <todifyurl> http://mobaopay.com/callback.do </todifyurl> <dagangsummary> order </dadeesummary> </boaoaccount> "; JsonObject json = xml2json (xml.getbytes ()); System.out.println (json.toJsonstring ()); }}
Hasil eksekusi
XML Teks Asli:
<?xml version="1.0" encoding="utf-8" ?><MoBaoAccount MessageType="UserMobilePay" PlatformID="b2ctest"> <OrderNo>M20150521084825</OrderNo> <TradeAmt>5000.00</TradeAmt> <Commission>0.5</Commission> <UserID>xiaolong</UserID> <cchid> xiaoLong1 </cchid> <darparetype> 0 </darcetype> <dustparam> 123 </custparam> <todifyurl> http://mobaopay.com/callback.do </notifyurl> <dadeSummary> order </tradesummary> </Mobaooaccount>
Data format JSON yang dikonversi
{ "MoBaoAccount": { "Commission": [ "0.5" ], "CustParam": [ "123" ], "MerchID": [ "zhuxiaolong1" ], "NotifyUrl": [ "http://mobaopay.com/callback.do" ], "OrderNo": [ "M20150521084825" ], "TradeAmt": [ "5000.00"], "Tradesummary": ["Order"], "UserId": ["ZhuxiaOlong"], "Tradetype": ["0"]}}Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.