2016-01-12 76 views
1

我有一個JSON響應,看起來像這樣:爪哇 - 檢索嵌套的JSON數組鍵值

USER:[{ 
    "id":"145454", 
    "name":"JJones", 
    "patientInfo":"[{"id":"12334", "doctor":"Smith"}]", 
    "insurance":true, 
    "caregiverName":"Jones" 
}] 

我試圖創建一個Java方法,這樣我就可以訪問嵌套的鍵值對JSONArray。例如,我不想要整個JSON數組,我只想從patientInfo JSON數組中檢索醫生名稱。任何想法我將如何在Java中做到這一點我完全卡在這裏。

這是須藤代碼,但我想這將是這樣的:

String doctorInfo() { 
    JSONObject obj = new JSONObject(user) 
    JSONArray arr = obj.getJSONArray("patientInfo") 

    String doctor = arr.getValue("doctor") 
} 

而且我希望能夠做

doctorInfo().doctor 

代碼樣本來訪問它的前端非常感謝。

回答

1

該代碼將是這樣的:

String doctorInfo(String jsonString) { 
    JSONObject obj = new JSONObject(jsonString) 
    JSONArray arr = obj.getJSONArray("patientInfo") 
    JSONObject patientJSONObject = arr.getJSONObject(0); 
    String doctor = patientJSONObject.getString("doctor"); 
    return doctor; 
} 

上面的代碼示例假定要傳遞的以下的字符串作爲參數。

{ 「ID」: 「145454」, 「名稱」: 「JJones」
「patientInfo」: 「[{」 ID 「:」 12334" , 「醫生」: 「史密斯」}]」 ,
「保險」:true,「caregiverName」:「Jones」}