Este artigo apresenta um exemplo de Java convertendo documentos XML em dados de formato JSON. É compartilhado com você. Os detalhes são os seguintes:
Função
Converter documentos XML em dados de formato JSON
ilustrar
Pacote de dependência:
1. JDOM-2.0.2.JAR: XML Parsing Toolkit;
2. Fastjson-1.1.36.Jar: Um kit de ferramentas JSON de alto desempenho desenvolvido por Alibaba
Código fonte do programa
pacote com.xxx.open.pay.util; importar com.alibaba.fastjson.jsonObject; importar org.jdom2.Element; importar org.jdom2.jdomexception; importar org.jdom2.input.saxbuilder; importa java.io.byteraRaRaRaRaMSTream; java.util.LinkedList; importar java.util.list;/*** Criado por [email protected] em 2015/5/5. */public class xmlutil {public static jsonObject xml2json (byte [] xml) lança jdomexception, ioexception {jsonObject json = new jsonObject (); InputStream é = new ByteArrayInputStream (xml); Saxbuilder sb = new saxbuilder (); org.jdom2.document doc = sb.build (IS); Elemento root = doc.getrootelement (); json.put (root.getName (), iterateElement (root)); retornar JSON; } private estático jsonObject iterateElement (elemento elemento) {list node = element.getChildren (); Elemento ET = nulo; JsonObject obj = new jsonObject (); Lista Lista = NULL; for (int i = 0; i <node.size (); i ++) {list = new LinkedList (); et = (elemento) node.get (i); if (et.getTextTrim (). Equals ("")) {if (et.getChildren (). size () == 0) continue; 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); }} retornar obj; } public static void main (string [] args) lança jdomexception, ioexception {string xml = "<? xml versão =/" 1.0/"coding =/" utf-8/"?> <mobaoaccout messageType =/" userMoBilePay/" Plataformid =/"b2ctest/"> <letomNo> M20150521084825 </Orderno> <FREEAMT> 5000.00 </SEDEAMT> <Comissão> 0.5 </comission> <//Merchid> </DUSTETETRYPETRYPETM> <TENIFYURL> http://mobaopay.com/callback.do </notifyurl> <bermersummary> Ordem </tradesummary> </baoacaccount> "; JsonObject json = xml2json (xml.getBytes ()); System.out.println (json.tojSonstring ()); }}
Resultados da execução
Texto original XML:
<? xml versão = "1.0" coding = "utf-8"?> <mobaoAccount messageType = "userMobilePay" plataformid = "b2ctest"> <lorMNO> m20150521084825 </orderno> <ergenteAmt> 5000.00 </correnteam> </Merchid> xiaolong1 </mychid> <TradeType> 0 </tradeType> <fustparam> 123 </fustparam> <notifyurl> http://mobaopay.com/callback.do </notifyurl> <locesumary> Ordem </trocasummary> </mobaoactnt
Dados de formato JSON convertidos
{"MobaoAccount": {"Commission": ["0.5"], "CustParam": ["123"], "Merchid": ["zhuxiaolong1"], "notifyurl": ["http://mobaopay.com/callback.do"], "Orderno": "5000.00"], "Comércio": ["Order"], "UserID": ["Zhuxiaolong"], "TradeType": ["0"]}}O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.