>  기사  >  Java  >  Java는 XML 문서를 json 형식 데이터로 변환합니다.

Java는 XML 문서를 json 형식 데이터로 변환합니다.

小云云
小云云원래의
2017-12-06 10:01:062803검색

이 글은 주로 Java를 사용하여 XML 문서를 json 형식 데이터로 변환하는 예제를 소개합니다. 모두에게 도움이 되기를 바랍니다.

Function

xml 문서를 json 형식 데이터로 변환

Instructions

종속성 패키지:

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;
/**
 * Created by 1250052380@qq.com on 2015/5/19.
 */
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);
    Element root = doc.getRootElement();
    json.put(root.getName(), iterateElement(root));
    return json;
  }
  private static JSONObject iterateElement(Element element) {
    List node = element.getChildren();
    Element et = null;
    JSONObject obj = new JSONObject();
    List list = null;
    for (int i = 0; i < node.size(); i++) {
      list = new LinkedList();
      et = (Element) 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);
      }
    }
    return 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><TradeAmt>5000.00</TradeAmt><Commission>0.5</Commission><UserID>zhuxiaolong</UserID><MerchID>zhuxiaolong1</MerchID><tradeType>0</tradeType><CustParam>123</CustParam> <NotifyUrl>http://mobaopay.com/callback.do</NotifyUrl><TradeSummary>订单</TradeSummary></MoBaoAccount>";
    JSONObject json=xml2JSON(xml.getBytes());
    System.out.println(json.toJSONString());
  }
}

실행 결과

Xml 원본 텍스트:

변환 후 JSON format data


<?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>
  <MerchID>xiaolong1</MerchID>
  <tradeType>0</tradeType>
  <CustParam>123</CustParam>
  <NotifyUrl>http://mobaopay.com/callback.do</NotifyUrl>
  <TradeSummary>订单</TradeSummary>
</MoBaoAccount>

위 내용은 Java에서 XML 문서를 json 형식 데이터로 변환하는 방법에 대한 튜토리얼입니다. 모두에게 도움이 되기를 바랍니다.

관련 튜토리얼:

객체를 배열로 Json을 배열로 메소드

JSON 데이터를 읽고 구문 분석하는 js 메소드

양식 필드에서 여러 데이터 조각을 가져와서 JSON 형식으로 변환하는 메소드

위 내용은 Java는 XML 문서를 json 형식 데이터로 변환합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.