2

How to convert XML to JSON in java servlet.

    <?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 ); 

please help me.

unutbu
  • 842,883
  • 184
  • 1,785
  • 1,677
selladurai
  • 6,491
  • 14
  • 56
  • 88

3 Answers3

10

You can grab a set of Java classes to handle JSON at http://json.org/java/

There you can find the XML and JSONObject classes, among others. This code could work for you:

public String XMLtoJSON(String xml) {
    JSONObject jsonObj = XML.toJSONObject(xml);
    String json = jsonObj.toString();
    return json;
}
German Latorre
  • 10,058
  • 14
  • 48
  • 59
0

You need to import org.json.XML in your class to resolve XML. Or Put org.json.XML to your classpath.

0

Underscore-java can convert xml to json.

import com.github.underscore.U;

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

String json = U.xmlToJson(xml);  
System.out.println(json);
Valentyn Kolesnikov
  • 2,029
  • 1
  • 24
  • 31