2017-01-18 4 views
1

Android開発には初めてのので、APIメソッドを呼び出しながらJSONとしてパラメータを投稿する必要があります。APIを呼び出すときにアンドロイドのjsonとしてパラメータを投稿する方法

私は配列リストとして渡しています:

List<NameValuePair> params = new ArrayList<NameValuePair>(); 

は、任意の提案をお願いします。 はあなたに

+0

どのようにAPIを呼び出していますか?私たちに知らせてもらえますか? –

+0

私は渡しています – sunil

答えて

1

ありがとう最後に、私はそれが今

private void callApiWithJsonReqPost() { 
     boolean failure = false; 
     uAddress="133 Phùng Hưng, Cửa Đông, Hoàn Kiếm, Hà Nội, Vietnam"; 
     addressTag="work address"; 
     String callingURl="put your url here" 

    JSONObject jsonObject=null; 

    try { 
     jsonObject=new JSONObject(); 
     jsonObject.put("address", uAddress); 
     jsonObject.put("type", "insert"); 
     jsonObject.put("tag", addressTag); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 


    JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.POST, 
      callingURl, jsonObject, 
      new Response.Listener<JSONObject>() { 

       @Override 
       public void onResponse(JSONObject response) { 
        Log.d("new_address" ,"sons=="+response.toString()); 

       } 
      }, new Response.ErrorListener() { 

     @Override 
     public void onErrorResponse(VolleyError error) { 
      VolleyLog.d("error", "Error: " + error.getMessage()); 

     } 
    }) { 

     /** 
     * Passing some request headers 
     * */ 
     @Override 
     public Map<String, String> getHeaders() throws AuthFailureError { 
      HashMap<String, String> headers = new HashMap<String, String>(); 
      headers.put("Content-Type", "application/json; charset=utf-8"); 
      return headers; 
     } 


    }; 

    // Adding request to request queue 
    Singleton_volley.getInstance().addToRequestQueue(jsonObjReq,"1"); 


} 
0
params.add(new BasicNameValuePair("key",data)); 


JSONObject json = jsonParser.makeHttpRequest(url_create_product, 
       "POST", params); 
+0

はいこれは動作ですが、List params = new ArrayList ()の代わりにjsonオブジェクトを送信する必要があります。 – sunil

+0

JSONを送信しますか? NameValuePairを使用する必要がありますか?あなたはそれを使用することができます:http://stackoverflow.com/questions/13005101/how-to-send-json-data-to-post-restful-service –

+0

私はそれをvolleyライブラリで行ったことがあります。 – sunil

0

を罰金働いて、ボレーライブラリを使用して解決策を見つけた私は、例えばAndroidのhttp://github.com/amirdew/JSON

をJSONを解析し、生成するためのライブラリを書いた:

JSON generatedJsonObject = JSON.create(
       JSON.dic(
         "someKey", "someValue", 
         "someArrayKey", JSON.array(
           "first", 
           1, 
           2, 
           JSON.dic(
             "emptyArrayKey", JSON.array() 
           ) 
         ) 
       ) 
     ); 


    String jsonString = generatedJsonObject.toString(); 

結果:

{ 
    "someKey": "someValue", 
    "someArrayKey": [ 
    "first", 
    1, 
    2, 
    { 
     "emptyArrayKey": [] 
    } 
    ] 
} 
関連する問題