2017-09-02 5 views
-2

Iam json値webserviceを読み込むためのアンドロイドアプリケーションの作成。 json応答に続いて返されるサービス。org.json.JSONArrayはアンドロイドに表示されるJSONObjectに変換できません

[{"pk_int_kv_category_id":1,"vchr_kv_category_name":"Parent","fk_int_kv_category_id":1,"vchr_delete_status":"s","vchr_last_modified_by":1,"vchr_last_modified_time":1},{"pk_int_kv_category_id":2,"vchr_kv_category_name":"Events","fk_int_kv_category_id":1,"vchr_delete_status":"s","vchr_last_modified_by":123,"vchr_last_modified_time":"2017-08-23 14:46:04"}] 

そして、私のプログラムの次のセクションでは、URLから

public void makeJSONRequest(String categoryurl, String JSON_ARRAY, final String pk_int_kv_category_id_obj, final String vchr_kv_category_name_obj, final String fk_int_kv_category_id_obj, final String vchr_delete_status_obj, final String vchr_last_modified_by_obj, final String vchr_last_modified_time_obj) { 
    //listAdapter.notifyDataSetChanged(); 
    //newsItems.clear(); 
    pDialog = new ProgressDialog(this); 
    pDialog.setMessage("Downloading Latest News..."); 
    pDialog.show(); 
    //JSONObject jsonObject = null; 

    JsonObjectRequest jsonReq = new JsonObjectRequest(Request.Method.GET, 
      categoryurl, null, new Response.Listener<JSONObject>() { 

     @Override 
     public void onResponse(JSONObject response) { 
      VolleyLog.d(TAG, "Response: " + response.toString()); 
      //Toast.makeText(MainActivity.this,response.toString(),Toast.LENGTH_LONG).show(); 
      if (response != null) { 
       Toast.makeText(getApplicationContext(), "Connected", Toast.LENGTH_LONG).show(); 
       parseJsonFeed(response, pk_int_kv_category_id_obj, vchr_kv_category_name_obj, fk_int_kv_category_id_obj, vchr_delete_status_obj, vchr_last_modified_by_obj, vchr_last_modified_time_obj); 
       hidePDialog(); 
      } 
     } 
    }, new Response.ErrorListener() { 

     @Override 
     public void onErrorResponse(VolleyError error) { 
      VolleyLog.d(TAG, "Error: " + error.getMessage()); 
      Toast.makeText(getApplicationContext(),error.getMessage().toString(),Toast.LENGTH_LONG).show(); 
     } 
    }); 

    //Creating a request queue 
    RequestQueue requestQueue = Volley.newRequestQueue(this); 
    //Adding our request to the queue 
    requestQueue.add(jsonReq); 
} 


protected void parseJsonFeed(JSONObject response, String pk_int_kv_category_id, String vchr_kv_category_name, String fk_int_kv_category_id, String vchr_delete_status, String vchr_last_modified_by, String vchr_last_modified_time) { 
    try { 

     JSONArray categoey_array = response.getJSONArray(JSON_ARRAY); 
     for(int i=0;i<categoey_array.length();i++) { 
      JSONObject feedobj=(JSONObject) categoey_array.get(i); 

      pk_int_kv_category_id1 = feedobj.getString(pk_int_kv_category_id); 
      vchr_kv_category_name1 = feedobj.getString(vchr_kv_category_name); 
      fk_int_kv_category_id1 = feedobj.getString(fk_int_kv_category_id); 
      vchr_delete_status1 = feedobj.getString(vchr_delete_status); 
      vchr_last_modified_by1 = feedobj.getString(vchr_last_modified_by); 
      vchr_last_modified_time1 = feedobj.getString(vchr_last_modified_time); 
      Toast.makeText(this,vchr_kv_category_name.toString(),Toast.LENGTH_LONG).show(); 

     } 
    }catch (JSONException jsonexception){ 
     Toast.makeText(this,jsonexception.toString(),Toast.LENGTH_LONG).show(); 

    } 
} 

をJSON値をフェッチしかし、私のアプリケーションを実行している間、私は

値[{ "pk_int_kv_category_id次のエラーを取得していますvchr_last_modified_by ":1、" vchr_last_modified_time ":1、{" pk_int_kv_category_id ":2、" vchr_kv_category_name ":1、" vchr_kv_category_id ":1、" vchr_kv_category_id ":1、" vchr_delete_status " "イベント"、 "fk_int_kv_category_id" :1、 "vchr_delete_status": "s"、 "vchr_last_modified_by":123、 "vchr_last_modified_time": "2017-08-23 14:46:04"}] JSONObjectに変換できません

+1

コール '代わりJsonObjectRequest''のJsonArrayRequest'に

JSONArray categoey_array = response.getJSONArray(JSON_ARRAY); JSONObject feedobj=(JSONObject) categoey_array.get(i); 

。 –

+0

ありがとう:-) @Krupa Kakkad –

+0

ハッピーコーディング..! –

答えて

1

変更このライン

JSONArray categoey_array = new JSONArray(json string);//put here your json string 

JSONObject feedobj = categoey_array.getJSONObject(i); 
関連する問題