簡體   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