【问题标题】:I want to post array param in HttpURLConnection android我想在 HttpURLConnection android 中发布数组参数
【发布时间】:2016-02-08 07:15:08
【问题描述】:

我是开发 Android 应用程序的新手,我想在我的应用程序中以以下格式发布参数:

user_id=12&task_id=100&user_ids=["91","92"]

我无法以数组格式发送user_ids。我在 Rails API 中收到 user_ids 作为字符串。

我正在使用 HttpURLConnection,并且在我的 writer.write() 中我将我的帖子参数传递为

writer.write("user_id="+id+"&task_id="+tid+"&user_ids="+["91","92"]+");

请帮忙。

【问题讨论】:

  • 你没有传递任何数组,你创建了一个类似数组的字符串,这就是为什么你在 Rails 端得到字符串,为什么不使用 volley 调用 Web 服务,因为你可以发送 JSONArray 与你的请求
  • 以数组格式发送 user_ids 到底是什么意思?你真的有一个保存这些值的字符串数组吗?如果是这样,也许您正在寻找writer.write("user_id="+id+"&task_id="+tid+"&user_ids="+Arrays.deepToString(uid));
  • 基本上我有一个 user_ids 列表,我希望这些 ids 发布到我的服务器以获得所需的结果
  • @Calvin P 我尝试使用 Arrays.deepToString 但即使这样似乎也不起作用
  • 我有一个格式为 ["91", "92"] 的 JSONArray,我希望这个数组按原样发布,标识符名称为 user_ids=["91","92"]以及另外两个参数,即 user_id 和 task_id。

标签: java android web-services arraylist httpurlconnection


【解决方案1】:

如果有人遇到同样的问题,我找到了解决方法。 您需要将数组添加到字符串中

1.第 1 步

Create a final ArrayList<String> SelectedTagIds = new ArrayList<String>();

并使用

添加数组项
SelectedTagIds.add("One");
SelectedTagIds.add("Two");
...

2。第 2 步

转换

SelectedTagIds.toString();

3.第三步

通过替换字符串来格式化字符串

SelectedTagIds.replace("[","").replace("]","").replaceAll("\\s","").trim();

4 步骤 4

最后将 String 发布到服务器(我使用 HttpURLConnection 将数据发布到服务器),并在服务器代码中,将接收到的 SelectedTagIds 转换为 Array 并相应地循环以达到您想要的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-26
    相关资源
    最近更新 更多