0

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

在使用 ApacheHTTPClient时,我无法这样做。

这就是我想做的:

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

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

post.setEntity(new UrlEncodedFormEntity(nameValuePairs));

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

关于如何使用 Apache 完成的任何指示HTTPClient

4

2 回答 2

1

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

于 2012-10-12T12:27:25.583 回答
0

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

我利用GS​​ON java 库从 List 转换为 JSON 表示。

如果您想在不手动转换通用类型的情况下使用 JSON,它是一个漂亮的库。

gson文档也是一个很好的参考。

于 2012-10-13T09:59:40.323 回答