[英]Parsing JSON data from an XML web service in Android
我有一个XML Web服务。 我想解析此XML,并想存储在单独的textviews中。 以下是XML内容,并且我已经完成了在String
变量中获取它的过程。
{
"30_year_rate": 4.25,
"30_year_pi": 196.78,
"30_year_apr": 4.375,
"20_year_rate": 4.375,
"20_year_pi": 250.37,
"20_year_apr": 4.5,
"15_year_rate": 3.75,
"15_year_pi": 290.89,
"15_year_apr": 3.875,
"10_year_rate": 3.625,
"10_year_pi": 397.89,
"10_year_apr": 3.75,
"5_year_arm": 2.75,
"5_year_pi": 163.3,
"5_year_apr": 2.875,
"7_year_arm": 3,
"7_year_pi": 168.64,
"7_year_apr": 3.125,
"3_year_arm": 4,
"3_year_pi": 190.97,
"3_year_apr": 4.125,
"5_year_io_arm": "N/A",
"5_year_io_pi": "N/A",
"5_year_io_apr": "N/A",
"QuoteID": 1449,
"Licensed": "N"
}
如何解析此数据? 我想将其转换为JSON对象并检索它,或其他任何合理的方法。
如果要从Web服务获得的是上面的字符串,则您已经有一个JSON字符串。 要创建可以从中检索信息的对象,请使用JSONObject
东西。
JSONObject object = new JSONObject(your_string_variable);
double thirtyYearRate = object.getDouble("30_year_rate");
String licensed = object.getString("Licensed");
等等
您可能会(会)遇到一些问题,尝试从包含字符串的JSON字段中提取一个double
。 即上面的“ N / A”字段。 您可能必须将它们作为字符串拉出,然后尝试从它们中解析double
,如果解析引发异常,您将知道它是一个字符串。
或者,您可以使用类似于Jackson的东西来研究JSON绑定,该东西显然可以在Android上运行 。
要解析JSON,可以使用内置的JSONObject org.json或Json-lib(如果您使用的是旧版android)。
要解析XML,请使用XMLPullParser 。 可以在这里找到一个示例: 解析XML数据
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.