如何在java中将XML转换为JSON?

时间:2011-10-11 09:57:47

标签: java xml json

如何在java servlet中将XML转换为JSON。

    <?xml><SOAP-ENV:Envelope xmlns:xsd= "http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:HNS="http://tempuri.org/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header><HNS:ROClientID SOAP-ENV:mustUnderstand="0">{6C9A8E69-2018-4090-8FA7-DEB98300E102}</HNS:ROClientID></SOAP-ENV:Header><SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ro="http://tempuri.org/"><NS1:GetStationListResponse xmlns:NS1="urn:WOOSServices-WOrbitService"><Stations xsi:type="xsd:string"></Stations><Result xsi:type="xsd:string">{
    "MOColmns": [
        {
            "MOTitle": "Description"
        },
        {
            "MOTitle": "station_name"
        },
        {
            "MOTitle": "StationID"
        },
        {
            "MOTitle": "StationINT"
        }
    ]
}</Result></NS1:GetStationListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>";
            String xml = "<xx yy='nn'><mm>zzz</mm></xx>";

            JSONArray json = (JSONArray) XMLSerializer.read(xml);  
            System.out.println( json ); 

请帮帮我。

4 个答案:

答案 0 :(得分:10)

您可以在http://json.org/java/

处获取一组Java类来处理JSON

在那里,您可以找到XML和JSONObject类等。此代码可能适合您:

public String XMLtoJSON(String xml) {
    JSONObject jsonObj = XML.toJSONObject(xml);
    String json = jsonObj.toString();
    return json;
}

答案 1 :(得分:0)

您需要在类中导入org.json.XML来解析XML。或者将org.json.XML放到类路径中。

答案 2 :(得分:0)

Underscore-java可以将xml转换为json。我是该项目的维护者。 Live example

import com.github.underscore.lodash.U;

String xml = "<xx yy=\"nn\"><mm>zzz</mm></xx>";

String json = U.xmlToJson(xml);  
System.out.println(json);

答案 3 :(得分:0)

Underscore-java 可以将 xml 转换为 json。

import com.github.underscore.lodash.U;

String xml = "<xx yy=\"nn\"><mm>zzz</mm></xx>";

String json = U.xmlToJson(xml);  
System.out.println(json);