2017-07-17 19 views
-5

このjsonを真の応答でオープンしようとしましたが、このapi_dataの最初の要素のみを取得しようとしました。jsonの最初の要素を取得する

残りのデータを取得できません。 "api_data"を取得するために以下の方法を試しましたが、取得できませんでした。 残りのデータがログに記録されていません。あなたがコンテンツを受信した後、データを解析する必要がAPIから...データを取得するための

{ 
    "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" 
    }] 
} 

私の改造クラス..

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

でプロパティと一致する必要がありますか? – Luca

+0

どのようにデータを解析しますか? – padeg

+0

'jsonの最初の要素を取得するときにjsonをパースする方法を示していません ' –

答えて

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"); 

    } 
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

このような解析この

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 
    } 
関連する問題