Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在POST RequestParams AsyncHttpClient Android应用程序中发送int数组_Java_Android_Ruby On Rails_Ruby_Arrays - Fatal编程技术网

Java 在POST RequestParams AsyncHttpClient Android应用程序中发送int数组

Java 在POST RequestParams AsyncHttpClient Android应用程序中发送int数组,java,android,ruby-on-rails,ruby,arrays,Java,Android,Ruby On Rails,Ruby,Arrays,我目前正在开发一个android应用程序,它向RubyonRails中的API发送一些请求 我必须发出请求,其中一个参数是ArrayList。我这样通过: ArrayList<Integer> userIds = ...; //... RequestParams params = new RequestParams(); params.put("conversation[user_ids]", userIds); 在API中,我得到 "user_ids"=>{"0"=>

我目前正在开发一个android应用程序,它向RubyonRails中的API发送一些请求

我必须发出请求,其中一个参数是
ArrayList
。我这样通过:

ArrayList<Integer> userIds = ...;
//...
RequestParams params = new RequestParams();
params.put("conversation[user_ids]", userIds);
在API中,我得到

"user_ids"=>{"0"=>"1", "1"=>"2"}
我真正想要的是

"user_ids"=>{[1,2]}
或者类似的


如何向API发送
ArrayList
,使其在ruby中被识别为数组而不是散列?为此,我无法修改服务器中的ruby代码,只能修改android应用程序中的客户端。

如果您想通过转换接收到的参数从后端点(ROR)修复它,可以使用一些ruby代码轻松完成,如:

{"0"=>"1", "1"=>"2"}.values.map(&:to_i)
# > [1,2]

我对Android不太了解,但要将整数数组传递给rails,您需要使用

conversation[user_ids][]=1&converstaion[user_ids][]=2&conversation[user_ids][]=3
所以我猜你可以迭代
ArrayList
,然后

params.put("conversation[user_ids][]", integer_member);

对于数组的每个成员。

关于:
userIds.toArray()
?什么是“作为散列”?它是一个
HashMap
还是其他类?同样,API接收一个hash。如果我发送一个int[],API将接收引用,而不是数组本身。ruby on rails散列,因为API将请求发送给它在ruby on rails中生成的。我只是不知道如何发送整数数组,所以rails将其识别为整数数组而不是散列。
而userid是一个数组列表。尝试提供一个int数组。
params.put("conversation[user_ids][]", integer_member);