在Android中将XML转换为JSON对象

我有一个XMLstring,如下所示:

<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> 

是否有可能将XML转换为JSON?

Solutions Collecting From Web of "在Android中将XML转换为JSON对象"

你也可以尝试这种方式。 我已经尝试过,自己testing了一下。

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

步骤2:将其添加到项目的/libs文件夹,然后添加到构buildpath。

第3步:然后使用它如下

  • import来寻找

     import org.json.JSONException; import org.json.JSONObject; import org.json.XML; 
  • 示例string

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

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

输出:

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"}}

我build议你使用json-lib ,这是一个JSON support to any Java program添加JSON support to any Java program的库。 json-lib可以把XML转换成一个JSON对象。

你可以在这里得到json-lib

例如。

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

我刚刚为Android Studio发布了一个“XML to JSON”库。 使用gradle很容易,易于使用和configuration。

XmlToJson在GitHub上可用:

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

请享用!