如何从XML响应解析JSON
问题描述:
我如何解析JSON通过删除XML标记如何从XML响应解析JSON
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<AddUserResponse xmlns="http://abcd.com/">
<AddUserResult>
{"clsError":{"ErrorCode":110,"ErrorDescription":"Email Already Exist"},"UserID":-1}
</AddUserResult>
</AddUserResponse>
</soap:Body>
</soap:Envelope>
我试过这个代码就会导致被视为是在上面的XML格式的响应串
String temp = result.substring(282, (length - 62));
System.out.println(temp);
JSONObject object = (JSONObject) new JSONTokener(temp).nextValue();
String query = object.getString("ErrorDescription");
在DDMS它说: org.json.JSONException:为ErrorDescription中
答
没有价值你没有正确地解析JSON。这是正确的阅读ErrorDescription:
JSONObject object = (JSONObject) new JSONTokener(temp).nextValue();
JSONObject childObject = object.getJSONObject("clsError");
query = childObject.getString("ErrorDescription");
此外,通过简单地获取XML的子字符串来获取json对象是不合适的。这将是更好的做一个正规的XML解析来检索它,
当你输入你的问题,在右边有一个框的标题**如何格式**。 Ask a Question文本区域上方还有一个** [?] **链接。两者都值得一读。这是你的第四个问题,你现在应该得到你的双腿。 – 2010-11-29 07:43:03