簡體   English   中英

如何使用JSONObject解析此響應

[英]how to parse this response using JSONObject

我收到從服務器返回的此響應。 我想解析它並從其中獲取出醫院名稱。 我將如何處理?

[
    {
        "Hospital": {
            "id": "63083",
            "hospital_name": "Colorado Mental Health Inst",
            "hospital_add_1": "1600 W 24th St",
            "hospital_add_2": null,
            "hospital_city": "Pueblo",
            "hospital_state": "CO",
            "hospital_zip": "81003",
            "hospital_phone": "719-546-4000\r",
            "hospital_fax": null,
            "hospital_description": null,
            "callcenter_agent_approval": "0",
            "hospital_site": "",
            "mdpocket_approval": "0",
            "facebook": ""
        },
        "Floor": [],
        "Department": [],
        "Image": [],
        "Notes": []
    },
    {
        "Hospital": {
            "id": "63084",
            "hospital_name": "Parkview Medical Center",
            "hospital_add_1": "400 W 16th St",
            "hospital_add_2": null,
            "hospital_city": "Pueblo",
            "hospital_state": "CO",
            "hospital_zip": "81003",
            "hospital_phone": "719-584-4000\r",
            "hospital_fax": null,
            "hospital_description": null,
            "callcenter_agent_approval": "0",
            "hospital_site": "",
            "mdpocket_approval": "0",
            "facebook": ""
        },
        "Floor": [],
        "Department": [],
        "Image": [],
        "Notes": []
    },
    {
        "Hospital": {
            "id": "63085",
            "hospital_name": "St Mary-Corwin Medical Center",
            "hospital_add_1": "1008 Minnequa Ave",
            "hospital_add_2": null,
            "hospital_city": "Pueblo",
            "hospital_state": "CO",
            "hospital_zip": "81004",
            "hospital_phone": "719-560-4000\r",
            "hospital_fax": null,
            "hospital_description": null,
            "callcenter_agent_approval": "0",
            "hospital_site": "",
            "mdpocket_approval": "0",
            "facebook": ""
        },
        "Floor": [],
        "Department": [],
        "Image": [],
        "Notes": []
    }
]

編輯JSON * 更新JSON *

[ // json array node 
{  // json object node 
"Hospital": { // json object Hospital 

解析

JSONArray jr = new JSONArray("jsonstring");
for(int i=0;i<jr.length();i++)
{
   JSONObject jb = (JSONObject)jr.getJSONObject(i);
   JSONObject jb1 =(JSONObject) jb.getJSONObject("Hospital");
   String name =  jb1.getString("hospital_name");
   Log.i("name....",name);
}

日志記錄

02-18 03:09:43.950: I/name....(951): Colorado Mental Health Inst
02-18 03:09:43.950: I/name....(951): Parkview Medical Center
02-18 03:09:43.950: I/name....(951): St Mary-Corwin Medical Center

您不會-無效的JSON。 您缺少字段名稱中的大部分“”。

嘗試這個..

JSONArray tot_array = new JSONArray(response);

for(int i = 0; i< tot_array.length(); i++){
    JSONObject obj = tot_array.getJSONObject(i);
    JSONObject hospital_obj = obj.getJSONObject("Hospital");
    String hospital_name =  hospital_obj.getString("hospital_name");
}

我建議您使用fastjson( https://github.com/alibaba/fastjson )。

簽出這個很棒的庫,用於在Android中解析JSOn,它名為GSON https://code.google.com/p/google-gson/ 通過這個解析,這非常簡單。

您的字符串不是有效的JSON對象。 在嘗試將字符串解析為JSON之前,請先檢查jsonlint 之后,您可以閱讀有關在Android中解析JSON的信息 使用內置的org.json足夠容易,但是如果您使用那里的許多Java庫之一進一步簡化它,那么應該會容易得多。 您可以研究Jacksongoogle-gson ,這兩種功能最強大的實用程序可滿足您的需求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM