繁体   English   中英

如何使用Apache HTTPClient的post方法将列表发送到服务器

[英]How to use Apache HTTPClient's post method to send a List to the server

我希望在HTTP Post请求中附加一个List<Beans>

在使用Apache HTTPClient ,我无法做同样的事情。

这是我想做的:

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);

nameValuePairs.add(new BasicNameValuePair("dailySalesList",beanList));

post.setEntity(new UrlEncodedFormEntity(nameValuePairs));

但是,BasicNameValuePair似乎只接受2个字符串作为参数。 我希望利用它,以便可以使用字符串(用于标识和对象)传递列表。 基本上,其功能类似于使用地图。

关于如何使用Apache HTTPClient进行操作的任何指针?

在此上下文中,NameValuePair用于发送简单文本参数作为URL中的查询(有时会看到?foo = 1&bar = 2参数)。 发送更复杂的内容(例如列表)的最佳方法是将其序列化为 XML或JSON之类的互换格式,然后将其作为请求正文发送。

感谢Kiyura为我指出了使用JSON的正确方向。

我利用GSON Java库从List转换为JSON表示形式。

它是一个漂亮的库,以防您要使用JSON而不手动转换泛型类型。

gson doc也是一个很好的参考。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM