尝试在真实响应中打开此json,但只获得此api_data的第一个元素。
无法获取其余数据。 我尝试了下面提到的方法来获取“api_data”但无法得到, 不明白为什么剩下的数据在我的日志中没有。
{
"api_req": true,
"api_data": [{
"ID": "1",
"project_name": "project test xen",
"project_content": "lita5645"
}, {
"ID": "5",
"project_name": "C\/o 48 No Houses T-II and 48 No houses T-III in New Police Lines Faridabad",
"project_content": "lita5646"
}]
}
我的改装课程,以便从api获取数据..
public void onResponse(Call<ResponseActivityList> call, Response<ResponseActivityList> response) {
progressDialog.dismiss();
//progressDialog.setCanceledOnTouchOutside(true);
// Response Success or Fail
if (response.isSuccessful()) {
if (response.body().isApi_req()) {
//success uploading the data
// results.setText(response.body().getResponse());
// Toast.makeText(XenImageUploading.this, "success " + response.body().get_apiData(), Toast.LENGTH_SHORT).show();
Gson gson = new Gson();
data.add(gson.toJson(response.body().getApi_data()));
for (int i = 0 ; i<data.size(); i++){
Log.e("Array", String.valueOf(data.size()));
projectnae_content.add(response.body().getApi_data().get(i).getID());
//Log.e("project",projectnae_content.toString());
//project_id.add(response.body().getApi_data().get(i).getID().toString());
}
// Log.e("project_name" ,projectnae_content.toString());
//Toast.makeText(XenImageUploading.this, jsonInString, Toast.LENGTH_SHORT).show();
//String Project_name_content= response.body().getApi_data();
//Log.e("intersection_list", intersection_list.get(0));
} else {
//error uploading data
//results.setText(response.body().getResponse());
//Toast.makeText(XenImageUploading.this, R.string.string_upload_fail, Toast.LENGTH_SHORT).show();
Log.e("failure", String.valueOf(response.body().isApi_req()));
}
} else {
//error uploading data
//Toast.makeText(XenImageUploading.this, R.string.string_upload_fail, Toast.LENGTH_SHORT).show();
Log.e("failure2", response.message());
}
}
答案 0 :(得分:1)
您需要在收到内容后解析数据。在这里,我附上示例演示来解析你的json。
try {
JSONObject jsonObject = new JSONObject("hello");
JSONArray api_data=jsonObject.getJSONArray("api_data");
for (int i = 0; i < api_data.length(); i++) {
String id=api_data.getJSONObject(i).getString("ID");
String name=api_data.getJSONObject(i).getString("project_name");
String content=api_data.getJSONObject(i).getString("project_content");
}
} catch (JSONException e) {
e.printStackTrace();
}
答案 1 :(得分:1)
试试这个
JSONObject jsonObj = new JSONObject(Response);
// Getting JSON Array node
JSONArray JsonArray = jsonObj.getJSONArray("api_data");
// looping through All JSON Array
for (int i = 0; i < JsonArray.length(); i++) {
JSONObject data = JsonArray.getJSONObject(i);
Log.e("ID :-> ",data.getString("ID"));// get id
Log.e("project_name :-> ",data.getString("project_name"));// get project name
Log.e("project_content :-> ",data.getString("project_content"));// get project content
}
答案 2 :(得分:1)
像这样解析,你必须将属性与JSON匹配
JSONObject jsonObj = new JSONObject(Response);
JSONArray JsonArray = jsonObj.getJSONArray("api_data");
for (int i = 0; i < JsonArray.length(); i++) {
JSONObject jsonObject = JsonArray.getJSONObject(i);
String id=jsonObject.getString("ID");
String projectname=jsonObject.getString("project_name");
String content=jsonObject.getString("project_content");
}