从Android中的XML Web服务解析JSON数据

时间:2012-07-30 13:54:33

标签: android json web-services

我有一个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对象并检索它,或任何其他合理的方法。

2 个答案:

答案 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.jsonJson-lib

要解析XML,请使用XMLPullParser。可在此处找到示例:Parsing XML Data