如何添加JSON头部

3

我发送JSONArray到服务器的代码...

   StringRequest request= new StringRequest(Request.Method.POST, server_url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                Toast.makeText(getApplicationContext(), " Successfull", Toast.LENGTH_SHORT).show();
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {

            }
        }){
            public Map<String,String> getParams() throws AuthFailureError {
                Map<String,String> parameters = new HashMap<String, String>();
                getResults().put(parameters);
                return parameters;


            }
        };

        requestQueue.add(request);
    }

这段代码用于向服务器发送 JSONArray。我该如何设置头文件,以便服务器能够识别它是一个 JSON 文件?应该怎么做?

1个回答

3

设置RequestContent-Type头字段最简单的方法可能是通过覆盖getBodyContentType()方法:

@Override
public String getBodyContentType() {
    return "application/json";
}

如果您想在POST请求的正文中发送JSON,可以使用JsonObjectRequestJsonArrayRequest。例如,如果您的getResults()方法返回一个JSONArray并希望将其作为请求正文发送,可以这样做:
JsonArrayRequest request = new JsonArrayRequest(Request.Method.POST,
        serverUrl, getResults(),
        new Response.Listener<JSONArray>() {
            @Override
            public void onResponse(JSONArray response) {
                // handle the response
            }
        },
        new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                // an error occurred
            }
        });

requestQueue.add(request);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接