0

我有一个 XML Web 服务。我想解析这个 XML,我想存储在一个单独的文本视图中。下面是一个 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 对象并检索它,或者任何其他合理的方法。

4

2 回答 2

1

如果您从 web 服务返回的是上面的字符串,那么您已经有了一个 JSON 字符串。要创建一个可以从中检索信息的对象,请使用类似JSONObject.

JSONObject object = new JSONObject(your_string_variable);
double thirtyYearRate = object.getDouble("30_year_rate");
String licensed = object.getString("Licensed");

等等

您可能(将)遇到一些问题,您尝试double从包含字符串的 JSON 字段中提取一个;即上面的“N/A”字段。您可能必须将它们作为字符串拉出,然后尝试从中解析doubles,如果解析抛出异常,您就会知道它是一个字符串。

或者,您可以查看与 Jackson 之类的 JSON 绑定,它显然在 Android 上运行

于 2012-07-30T14:03:46.280 回答
0

要解析 JSON,您可以使用内置的 JSONObject org.jsonJson-lib,如果您使用的是旧版本的 android。

要解析 XML,请使用XMLPullParser。可以在此处找到示例:解析 XML 数据

于 2012-07-30T14:08:04.817 回答