繁体   English   中英

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

[英]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.jsonJson-lib(如果您使用的是旧版android)。

要解析XML,请使用XMLPullParser 可以在这里找到一个示例: 解析XML数据

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM