无法使用nameValuePairs(android)将数组发送到服务器(Cant send array to server using nameValuePairs(android))

编程入门 行业动态 更新时间:2024-10-08 20:39:17
无法使用nameValuePairs(android)将数组发送到服务器(Cant send array to server using nameValuePairs(android))

对不起我的英语不好。 我的人给了我一个项目,我需要更改一些POST请求。 我之前使用过retrofit ,但这个项目使用的是org.apache 。 我知道这很糟糕,但我只需要向服务器发送一个数组。 我尝试了很多次,但它不起作用。 我需要发送这样的服务器:

{"name": "hellow", "id": [{"1"}, {"2"}]}

这是我试图做的:

1。

HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("link"); List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); nameValuePairs.add(new BasicNameValuePair("name", name)); int i = 0; for (Iterator<MyCoolObject> it = checkedSet.iterator(); it.hasNext(); ) { MyCoolObject f = it.next(); nameValuePairs.add(new BasicNameValuePair("id[" + String.valueOf(i)+ "]", f.getUserId())); i++; }

2。

ArrayList<String> array = new ArrayList<String>(); for (Iterator<MyCoolObject> it = checkedSet.iterator(); it.hasNext();) { MyCoolObject f = it.next(); array.add(f.getUserId()); } nameValuePairs.add(new BasicNameValuePair("id", array.toString()));

3。

JSONArray jsonArray = new JSONArray(); for (Iterator<MyCoolObject> it = checkedSet.iterator(); it.hasNext(); ) { MyCoolObject f = it.next(); jsonArray.put(f.getUserId()); } nameValuePairs.add(new BasicNameValuePair("id", jsonArray.toString()));

他们都没有工作,我不知道是做什么的。

Sorry for my english. My people gave me a project and I need to change some POST requests. I used retrofit before, but this project uses org.apache. I know that it's bad, but I only need to send an array to the server. I tried it many times but it doesn't work. I need to send the server something like this:

{"name": "hellow", "id": [{"1"}, {"2"}]}

Here is what I tried to do:

1.

HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("link"); List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); nameValuePairs.add(new BasicNameValuePair("name", name)); int i = 0; for (Iterator<MyCoolObject> it = checkedSet.iterator(); it.hasNext(); ) { MyCoolObject f = it.next(); nameValuePairs.add(new BasicNameValuePair("id[" + String.valueOf(i)+ "]", f.getUserId())); i++; }

2.

ArrayList<String> array = new ArrayList<String>(); for (Iterator<MyCoolObject> it = checkedSet.iterator(); it.hasNext();) { MyCoolObject f = it.next(); array.add(f.getUserId()); } nameValuePairs.add(new BasicNameValuePair("id", array.toString()));

3.

JSONArray jsonArray = new JSONArray(); for (Iterator<MyCoolObject> it = checkedSet.iterator(); it.hasNext(); ) { MyCoolObject f = it.next(); jsonArray.put(f.getUserId()); } nameValuePairs.add(new BasicNameValuePair("id", jsonArray.toString()));

None of them worked, I don't know what do.

最满意答案

尝试一下我不确定它是否适用于您的情况。

nameValuePairs.add(new BasicNameValuePair("id", type[i]));

使用for循环来包装数组。

for (int i = 0; i < type.length; i++) { nameValuePairs.add(new BasicNameValuePair("id[]",type[i])); }

Try it out I am not sure its working in your case or not.

nameValuePairs.add(new BasicNameValuePair("id", type[i]));

Use for loop to wrap your array.

for (int i = 0; i < type.length; i++) { nameValuePairs.add(new BasicNameValuePair("id[]",type[i])); }

更多推荐

本文发布于:2023-08-04 02:58:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1405397.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数组   发送到   服务器   android   nameValuePairs

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!