首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RequestParams add()和put()在AndroidAsyncHttp中的区别

RequestParams add()和put()在AndroidAsyncHttp中的区别
EN

Stack Overflow用户
提问于 2014-12-25 17:11:39
回答 1查看 5.5K关注 0票数 7

在使用android-async-http库时,我偶然发现了params.add()

我使用params.put()已经有一段时间了,它似乎比add()更好,因为它允许字符串以外的数据类型(如int、long、object、file),而add()不允许。

代码语言:javascript
复制
RequestParams params = new RequestParams();

// So how is this
params.add("param_a", "abc");

// different from this
params.put("param_a", "abc");

// and which one should I use?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-25 17:14:51

两个之间的主要区别(add()的仅字符串支持除外)是,put()用一个现有的键覆盖了以前的param,而add()没有。

例如:

代码语言:javascript
复制
params.put("etc", "etc");
params.put("key", "abc");
params.put("key", "xyz");

// Params: etc=etc&key=xyz

虽然add使用相同的键创建两个params

代码语言:javascript
复制
params.add("etc", "etc");
params.add("key", "abc");
params.add("key", "xyz");

// Params: etc=etc&key=abc&key=xyz

,但是这样做的重要性是什么呢?

在上面的示例中,web服务器只读取key的最后一个值,即xyz而不是abc,但这是ing arrays

代码语言:javascript
复制
params.add("key[]", "a");
params.add("key[]", "b");
params.add("key[]", "c");

// Params: key[]=a&key[]=b&key[]=c
// The server will read it as: "key" => ["a", "b", "c"]
票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27649251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档