【发布时间】:2018-01-18 11:03:59
【问题描述】:
我需要在查询段中构建一个包含数组的 NSURL。数组表示法如下所示:
test.com?arr[a]=1&arr[b]=2
这里的问题是 NSURL 转义了括号,所以最终的查询段看起来像这样:
test.com?arr%5Ba%5D=1&arr%5Bb%5D=2
经过一些研究,我偶然发现了 NSURLComponents 类,但就像我已经预料到的那样,NSURLQueryItem 对象只能将 NSStrings 作为值,因此也不能创建想要的输出。我还没有找到一种方法来构建一个包含非转义括号的 NSURL 对象。
【问题讨论】:
-
[NSURL URLWithString:@"test.com?arr[a]=1&arr[b]=2"]似乎工作得很好 -
我不这么认为。当我调用
[NSURL URLWithString:@"test.com?arr[a]=1&arr[b]=2"]时,我得到一个带有转义括号的 NSURL 对象。 -
在我个人看来,这是对查询模式的滥用。
-
不,实际上不是。这是将(关联)数组放入 get 请求的查询部分的事实上的 http 标准。