在大多数q&a中,它的名称值对用于POST;
List<NameValuePair> myBooks = new ArrayList<NameValuePair>();
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new UrlEncodedFormEntity(myBooks));但当我试图将params改为arrayList时,
List<Books> myBooks= //从另一个类执行“
我明白了:
The constructor UrlEncodedFormEntity(List<myBooks>) is undefined
如果没有Jackson,真的不可能发布列表而不是ValuePair吗?
发布于 2014-07-20 15:18:41
如果查看API,可以看到列表必须扩展NameValuePair。因此,您自己的类也需要扩展NameValuePair类。
但为什么要这样呢?如果您查看您提供的代码的第三行
httpPost.setEntity(new UrlEncodedFormEntity(myBooks));这里的重要部分是注意到UrlEncodedFormEntity。UrlEncoded数据将由简单的名称和值对组成,如下所示:
name=bob&age=20如果您提供了一个已经由名称及其值(NameValuePair)组成的列表,则可以通过库为您完成此任务。
如果您只想发布任意数据,可以使用StringEntity自己完成。
httpPost.setEntity(new StringEntity(myString));在任何情况下,请不要忘记添加狂欢内容类型标题到您的帖子!
https://stackoverflow.com/questions/24851749
复制相似问题