Convert XML to JSON object in Android-ThrowExceptions

Exception or error:

I have an XML string as shown below:

xmlns=""><UserResult><Users xmlns=""><User>

Is it possible to convert XML to JSON?

How to solve:

You can try this way as well. I have tried and tested it myself.

Step 1 : Please Download the java-json.jar

Step 2: Add this to /libs folder of your project then add to build path.

Step 3: Then use it as follows

  • Imports to look for

    import org.json.JSONException;
    import org.json.JSONObject;
    import org.json.XML;
  • Sample string

    String sampleXml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
        + "<mobilegate>"    
    + "<txn>" + "Transaction" + "</txn>" 
    + "<amt>" + 0 + "</amt>" 
    + "</mobilegate>"; 
  • Json String

    JSONObject jsonObj = null;
    try {
        jsonObj = XML.toJSONObject(sampleXml);
    } catch (JSONException e) {
        Log.e("JSON exception", e.getMessage());
    Log.d("XML", sampleXml);
    Log.d("JSON", jsonObj.toString());



<?xml version="1.0" encoding="utf-8"?><mobilegate><timestamp>232423423423</timestamp><txn>Transaction</txn><amt>0</amt></mobilegate>




I just released a “XML to JSON” Library for Android Studio.
It is easy to integrate with gradle, simple to use, and configurable.

XmlToJson is available on GitHub:



I would suggest you to use json-lib, a library which adds JSON support to any Java program. json-lib can take XML and convert it into a JSON object.

You can get json-lib here


String xml = "your xml string";                
XMLSerializer xmlSerializer = new XMLSerializer(); 
JSON json = xml );


You can convert xml to jackson objects, and then can use jackson json.

I have attempted to add XmlPull support to jackson xml. Find the forked project here:

Currently, only supported for version 2.9.6. (clone the branch jackson-dataformat-xml-2.9.6-XmlPull)

Sorry, I am not able to provide detailed documentation due to time constraints. If you have knowledge of git and maven to pull a specific branch and build the jar, then it should be relatively easy.

Jackson xml documentation can be found on the jackson xml git home page here:


Underscore-java has static method U.xmlToJson(xml). I am the maintainer of the project. Live example

import com.github.underscore.lodash.U;

public class Main {
    public static void main(String args[]) {
        String xml = "<s:Envelope \n"
                    + "xmlns:s=\"\"><s:Body><Response \n"
                    + "xmlns=\"\"><UserResult><Users xmlns=\"\"><User>\n"
                    + "<Message>Success</Message>\n"
                    + "<UserId>213213213</UserId>\n"
                    + "<FullName>Abc</FullName>\n"
                    + "<Roles>\n"
                    + "<Role>\n"
                    + "<RoleId>23232333</RoleId>\n"
                    + "<RoleName>Salesperson</RoleName>\n"
                    + "</Role>\n"
                    + "</Roles>\n"
                    + "</User>\n"
                    + "</Users>\n"
                    + "</UserResult></Response>\n"
                    + "</s:Body>\n"
                    + "</s:Envelope>";


  "s:Envelope": {
    "-xmlns:s": "",
    "s:Body": {
      "Response": {
        "-xmlns": "",
        "UserResult": {
          "Users": {
            "-xmlns": "",
            "User": {
              "Message": "Success",
              "UserId": "213213213",
              "FullName": "Abc",
              "Roles": {
                "Role": {
                  "RoleId": "23232333",
                  "RoleName": "Salesperson"
  "#omit-xml-declaration": "yes"

Leave a Reply

Your email address will not be published. Required fields are marked *