使用名称值对的 Android volley post 请求

Posted

技术标签:

【中文标题】使用名称值对的 Android volley post 请求【英文标题】:Android volley post request using name value pairs 【发布时间】:2015-02-22 19:16:09 【问题描述】:

我正在使用volley 库向服务器发出发布请求。这个库使用Map<String, String> 作为发布参数。我的问题是想为同一个键有多个值,可以使用NameValuePairs,但不能与 volley 一起使用。提前致谢!

【问题讨论】:

【参考方案1】:

尝试覆盖下面的方法,它来自源代码:

/**
 * Returns the raw POST or PUT body to be sent.
 *
 * @throws AuthFailureError in the event of auth failure
 */
public byte[] getBody() throws AuthFailureError 
    Map<String, String> params = getParams();
    if (params != null && params.size() > 0) 
        return encodeParameters(params, getParamsEncoding());
    
    return null;

返回要发送的原始 POST 或 PUT 正文。

所以用你的参数覆盖getBody()

【讨论】:

那么,拥有重复键的条目对我有什么帮助?你能详细说明一下吗? override getBody() 构造你的NameValuePairs 然后将其转换为byte array,或者构造类似"key=value1&amp;key=value2" 然后将其转换为字节数组。

以上是关于使用名称值对的 Android volley post 请求的主要内容,如果未能解决你的问题,请参考以下文章

名称-值对的语义和结构

Alamofire 是不是支持结构化为有序值列表的 JSON?参数为 [String: Any],仅符合名称/值对的集合

Android开发 - 文件保存状态和首选项

如何为具有不同数量的键/值对的对象添加类型? [关闭]

android中post请求怎么传输内容

存储键值对的最佳 Java 数据结构 [重复]