この問題はかなり単純ですが、理解できません。
次の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 が 2 回しかアクセスされません。助けてください !