首页 > 解决方案 > 需要在凌空请求中使用映射键值对在 Json 对象中传递 json 数组

问题描述

我有以下代码,其中 Json 具有对象数组。我正在使用 Map 在 android volley PUT 请求中传递我的参数。有什么办法可以在要发送的 Json 中添加 Json 对象数组。我的代码

 try {
    StringRequest request = new StringRequest(Request.Method.PUT, requestURL, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            if (!response.equals(null)) {
                Log.e("Your Array Response", response);
            } else {
                Log.e("Your Array Response", "Data Null");
            }
        }

    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.e("error is ", "" + error);
        }
    }) {

        //This is for Headers If You Needed
        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            Map<String, String> params = new HashMap<String, String>();
            params.put("Content-Type", "application/json; charset=UTF-8");
            params.put("token", "ACCESS_TOKEN");
            return params;
        }

        //Pass Your Parameters here
        @Override
        protected Map<String, String> getParams() {
            Map<String, String> params = new HashMap<String, String>();
            params.put("User", UserName);
            params.put("Pass", PassWord);
            return params;
        }
    };
    RequestQueue queue = Volley.newRequestQueue(getApplicationContext());
    queue.add(request);

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

我的 Json 格式如下所述:

{
  "name": "string",
  "desc": "string",

  "tags": [
    {
      "name": "string"
    }
  ],
  "ingredients": [
    {
      "name": "string"
    }
  ],
  "available": true,
  "availabilities": [
    {
      "start_time": "string",
      "end_time": "string",
      "day_of_the_week": "string"
    }
  ]
}

标签: androidjsonandroid-volley

解决方案


推荐阅读