在Android中将XML转换为JSON对象

sha*_*rry 19 xml android json libraries

我有一个XML字符串,如下所示:

<s:Envelope 
xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><Response 
xmlns="http://tempuri.org/"><UserResult><Users xmlns=""><User>
<Message>Success</Message>
<UserId>213213213</UserId>
<FullName>Abc</FullName>
<Roles>
<Role>
<RoleId>23232333</RoleId>
<RoleName>Salesperson</RoleName>
</Role>
</Roles>
</User>
</Users>
</UserResult></Response>
</s:Body>
</s:Envelope>
Run Code Online (Sandbox Code Playgroud)

是否可以将XML转换为JSON?

Rit*_*une 68

你也可以尝试这种方式.我自己试过并测试过它.

第1步:请下载java-json.jar

第2步:将/libs其添加到项目的文件夹,然后添加到构建路径.

第3步:然后按如下方式使用它

  • 进口寻找

    import org.json.JSONException;
    import org.json.JSONObject;
    import org.json.XML;
    
    Run Code Online (Sandbox Code Playgroud)
  • 样本字符串

    String sampleXml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
        + "<mobilegate>"    
    +"<timestamp>232423423423</timestamp>"                          
    + "<txn>" + "Transaction" + "</txn>" 
    + "<amt>" + 0 + "</amt>" 
    + "</mobilegate>"; 
    
    Run Code Online (Sandbox Code Playgroud)
  • Json String

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

输出:

XML:

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

JSON:

{"mobilegate":{"timestamp":232423423423,"amt":0,"txn":"Transaction"}}

  • @ ChanderShakherGhorela-Guru我有同样的问题.我在build.gradle中添加了`compile files('libs/java-json.jar')`,同步项目并且错误消息消失了. (5认同)

Arn*_*Fun 6

我刚刚为Android Studio发布了"XML to JSON"库.它易于与gradle集成,易于使用和可配置.

XmlToJson在GitHub上可用:

https://github.com/smart-fun/XmlToJson

请享用!