這個問題相當簡單,但無法讓我的腦袋圍繞它。在api中通過hashMaps循環訪問
以下API是要處理
{ "data" : [ { "id" : "102",
"sector" : "projectSector1",
"title" : "projectTitle1"
},
{ "id" : "100",
"sector" : "projectSector2",
"title" : "projectTitle2"
},
{ "id" : "98",
"sector" : "projectSector3",
"title" : "projectTitle3"
}
],
"status" : "success"
}
所以在我doInBackground
我運行下面的代碼:
protected Void doInBackground(Void... params) {
UserFunctions user = new UserFunctions();
JSob = user.allprojects();
try {
JSar = JSob.getJSONArray("data");
} catch (JSONException e1) {
e1.printStackTrace();
}
for(int i=0; i<JSar.length(); i++){
try {
JSONObject newobj = JSar.getJSONObject(i);
project_title = newobj.getString("title");
project_sector = newobj.getString("sector");
all_list.put("title", project_title);
all_list.put("sector", project_sector);
} catch (JSONException e) {
e.printStackTrace();
}
}
return null;
}
在這裏,我想HashMap
(該all_list
是HashMap中)的「扇區」和「標題」作爲關鍵字,並將它們的相應值作爲值輸入。但由於某種原因,我只能獲取projectTitle3和projectSector3兩次。請幫忙 !
我認爲,這樣做,你覆蓋在HashMap中 – Pavlos
@Pavlos鍵的以前的值可能是什麼是一個好的解決方案? –
有人在下面回答你!在你的情況下,我會使用數據庫!特別是如果json很長! – Pavlos