我正在使用其他人提供给我们的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}"}
正如您所看到的,其中一个字段返回时带有一个括号。我遇到的另一个问题是,当我打印回复时,我认为括号会作为问号出现。
答案 0 :(得分: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}
答案 1 :(得分:0)
由于JSON是在XML内部返回的,因此您必须1)使用XML解析器来获取<string>
标记的内容。完成后,您可以2)将其传递给JSON解析器。
希望有所帮助!
答案 2 :(得分:0)
您需要执行以下操作:
使用XML解析器解析响应。您可以使用Simple XML框架。
现在使用Google JSON解析器GOSN