我有一个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>
是否可以将XML转换为JSON?
您也可以尝试这种方式。我已经尝试和测试过了。
步骤1:请下载java-json.jar
步骤2:将/libs其添加到项目的文件夹,然后添加到构建路径。
/libs
步骤3:然后按以下方式使用
import org.json.JSONException; import org.json.JSONObject; import org.json.XML;
String sampleXml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + "<mobilegate>" +"<timestamp>232423423423</timestamp>" + "<txn>" + "Transaction" + "</txn>" + "<amt>" + 0 + "</amt>" + "</mobilegate>";
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"}}