如何将数组作为主体发送到android中具有Volley库的Web服务?

如何将数组作为主体发送到android中具有Volley库的Web服务?,android,android-volley,Android,Android Volley,我试图将数据作为数组发送到web服务,我使用Volley库来实现这一点,但在代码的一部分中,我应该将数组作为正文发送。因此,我将下面的代码用于我项目的另一部分,然后将一个JSON对象作为主体,但现在我想将主体作为数组发送。 我的阵列 [ { "name": "a", "family": "f" }, { "name": "b", "family": "f" }, { "name": "c", "family": "f" }

我试图将数据作为数组发送到web服务,我使用Volley库来实现这一点,但在代码的一部分中,我应该将数组作为正文发送。因此,我将下面的代码用于我项目的另一部分,然后将一个JSON对象作为主体,但现在我想将主体作为数组发送。 我的阵列

[
  {
    "name": "a",
    "family": "f"
  },
  {
    "name": "b",
    "family": "f"
  },
  {
    "name": "c",
    "family": "f"
  }
]

String url = "";
            try {
                JSONObject jsonBody = new JSONObject();
                jsonBody.put("name", name); 
                jsonBody.put("family", family); 
                //request a json object response
                JsonObjectRequest jsonRequest = new JsonObjectRequest( Request.Method.POST, url, jsonBody, new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {


                    }
                }, new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                    error.printStackTrace();
                    }
                }) {    //this is the part, that adds the header to the request
                    @Override
                    public Map<String, String> getHeaders() {
                        Map<String, String> params = new HashMap<String, String>();
                        params.put("Content-Type", "application/json; charset=utf-8");
                        return params;
                    }
                };
                // Add the request to the queue
                Volley.newRequestQueue(Activity_Goods_List.this).add(jsonRequest);
            } catch (Exception e) {
                Toast.makeText(getApplicationContext(), e.getMessage().toString(), Toast.LENGTH_LONG).show();
            }
[
{
“姓名”:“a”,
“家庭”:“f”
},
{
“名称”:“b”,
“家庭”:“f”
},
{
“姓名”:“c”,
“家庭”:“f”
}
]
字符串url=“”;
试一试{
JSONObject jsonBody=新的JSONObject();
jsonBody.put(“name”,name);
jsonBody.put(“家庭”,家庭);
//请求json对象响应
JsonObjectRequest jsonRequest=新的JsonObjectRequest(Request.Method.POST,url,jsonBody,new Response.Listener()){
@凌驾
公共void onResponse(JSONObject响应){
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
错误。printStackTrace();
}
}){//这是将头添加到请求的部分
@凌驾
公共映射getHeaders(){
Map params=新的HashMap();
参数put(“内容类型”,“应用程序/json;字符集=utf-8”);
返回参数;
}
};
//将请求添加到队列中
newRequestQueue(Activity\u Goods\u List.this).add(jsonRequest);
}捕获(例外e){
Toast.makeText(getApplicationContext(),e.getMessage().toString(),Toast.LENGTH_LONG).show();
}

您可以作为
json
数组发送。将数组编码为JSON并发送到您的备份服务器。从后端,您可以解析JSON并检索回数组。您不能直接发送数组,您必须遵循数据传输格式,如
json
xml

将对象添加到数组中,如下所示

让我们假设你有一个名单的姓名和家庭

    JSONArray request=new JSONArray();
    for(int i=0; i<names.size; i++){
        JSONObject jsonBody = new JSONObject();
        jsonBody.put("name", names.get(i));
        jsonBody.put("family", family.get(i));
        request.put(jsonBody);
    }
    // You'll have array ready here for your request
JSONArray请求=新的JSONArray();

for(int i=0;谢谢你的注意。亲爱的,我正在使用Json格式。但是我应该怎么做呢?你说我应该以Json数组的形式发送,但是怎么做呢
或者你可以使用Json库,比如
Gson
我想在你的新问题下面添加这个,作为答案发布,但在我完成之前就被删除了。堆栈溢出不是一个讨论论坛,它是一个问答库。这意味着每个新问题都必须在一个新问题中提出。此外,标记一个新问题的任何贡献都很重要通过点击左边的复选标记,将您的问题作为“答案”回答。这有助于提高网站质量,告诉其他人帮助了什么,问题得到了解决。此外,它还感谢投入工作和时间帮助网站得分的人。