【问题标题】:how to parse json from xml response如何从 xml 响应中解析 json
【发布时间】:2010-11-29 07:39:35
【问题描述】:

我如何通过删除 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 没有值

【问题讨论】:

  • 当您输入问题时,右侧有一个标题为如何格式化的框。在 Ask a Question 文本区域上方还有一个 [?] 链接。两者都值得一读。这是你的第四个问题,你现在应该能站起来了。

标签: android xml json soap


【解决方案1】:

您没有正确解析 json。这对于阅读 ErrorDescription 是正确的:

JSONObject object = (JSONObject) new JSONTokener(temp).nextValue();
JSONObject childObject = object.getJSONObject("clsError");        
query = childObject.getString("ErrorDescription");

另外,通过简单地获取 xml 的子字符串来获取 json 对象是不合适的。最好做一个常规的xml解析来检索它,

【讨论】:

    猜你喜欢
    • 2018-10-04
    • 2017-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    • 2013-05-10
    相关资源
    最近更新 更多