0

我正在使用其他人提供给我们的 API,它以这种方式返回它:

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://ywers.com">
[{"Name":"Edward", "LastName":"Jones", "Address":"{accepted}"}
,{"Name":"Carlos",  "LastName":"Ramirez", "Address":"{Rejected}"}]</string>

提取 JSON 的最佳方法是什么,以及如何将 JSON 分解为单独的对象,例如

{"Name":"Edward", "LastName":"Jones", "Address":"{accepted}"}
and
{"Name":"Carlos",  "LastName":"Ramirez", "Address":"{Rejected}"}

如您所见,其中一个字段返回并带有一个括号。我遇到的另一个问题是,当我打印回复时,我认为括号是作为问题标志出现的。

4

3 回答 3

1

首先,解析 XML 以获取嵌入的 JSON 作为

String XML = "<Your XML Response>";
XPathExpression xpath = XPathFactory.newInstance()
                         .newXPath().compile("/*[local-name()='string']");
String json = xpath.evaluate(new InputSource(new StringReader(XML)));

然后,使用任何 JSON 解析器解析 JSON。我使用了下面的org.json Java 解析器。

JSONArray jsonRoot = new JSONArray(json.trim());
System.out.println(jsonRoot.getJSONObject(0).getString("Address")); // {accepted}
于 2013-08-19T19:40:52.817 回答
0

由于 JSON 在 XML 内部返回,因此您必须 1) 使用 XML 解析器来获取<string>标记的内容。一旦你有了它,你可以 2) 将它传递给 JSON 解析器。

希望有帮助!

于 2013-08-19T19:13:39.773 回答
0

您需要执行以下操作:

  1. 使用 XML 解析器解析响应。您可以使用简单 XML框架。

  2. 现在使用谷歌 JSON 解析器GOSN解析字符串标签值的内容,它是 JSON 内容

于 2013-08-19T19:22:11.983 回答