我有一个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对象并检索它,或任何其他合理的方法。
答案 0 :(得分:1)
如果你从webservice获得的是上面的字符串,那么你已经有了一个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这样的runs on Android来查看JSON绑定。
答案 1 :(得分:0)
要解析JSON,如果使用旧版本的android,则可以使用内置的JSONObject org.json或Json-lib。
要解析XML,请使用XMLPullParser。可在此处找到示例:Parsing XML Data