簡體   English   中英

如何在Android Volley中發送簡單的原始數組

[英]how to send simple raw array in android volley

有人知道如何在Android Volley中發送帶有原始數據的發布請求嗎? 我想發布帶有標題的數組列表。

[{
    "Name": "qwertytestinggfgfgf"
}]

這是我的代碼:

@Override
public Map<String, String> getHeaders() throws AuthFailureError {
    Map<String, String> headers = new HashMap<String, String>();
    headers.put("Content-Type", "application/json");
    headers.put("Authorization", "my Authorization code is here ");
    return headers;
}

@Override
protected Map<String, String> getParams() {
    HashMap<String, String> params = new HashMap<String, String>();
    params.put("name", "rahatamjid");
    return params;
}

這是一個屏幕截圖。

Headesr部分運行良好。

向Hashmap添加更多

這樣嘗試

@Override
    protected Map<String, String> getParams() {
        HashMap<String, String> params = new HashMap<String, String>();
        params.put("name1", "rahatamjid1");
        params.put("name2", "rahatamjid2");
        params.put("name3", "rahatamjid3");
        params.put("name4", "rahatamjid4");

        Log.i("request","" + params);
        return params;
    }

這可能對您有幫助。

您最好使用json發送請求,如下所示:

JsonRequest<JSONObject> jsonRequest = new JsonObjectRequest(Method.POST,httpurl, jsonObject,
    new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            Log.d(TAG, "response -> " + response.toString());
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.e(TAG, error.getMessage(), error);
    }
    })
    {  
    @Override 
    public Map<String,String> getHeaders() throws AuthFailureError {
        Map<String,String> headers = new HashMap<String, String>();
        headers.put("Content-Type", "application/json");
        headers.put("Authorization", "my Authorization code is here ");
        return headers;
    } 
};

請嘗試這個,讓我知道:

@Override
public Map<String, String> getHeaders() throws AuthFailureError {
  HashMap<String, String> params = new HashMap<String, String>();
  String creds = String.format("%s:%s","USERNAME","PASSWORD");  //please adapt this to your auth type
  String auth = "Basic " + Base64.encodeToString(creds.getBytes(), Base64.DEFAULT);
  params.put("Authorization", auth);
  params.put("Content-Type", "application/json");// 
  return params;
}

在jsonObjectRequest方法中將getBodyContentType重寫為jsonBody

 @Override
            public String getBodyContentType() {
                return "application/json;charset=UTF-8";
            }

然后使用鍵將原始數據放入json對象。 根對象應該是要發布的jsonObject,而不應該是json數組

        JSONObject jsonObject = new JSONObject();
        jsonObject.put("yourKey",value);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM