2

我有一个查询字符串:a=1&b=2&c[1]=3&c[2]=4等等……</p>

我想要一个 NSDictionary,其中a => 1, b => 2, c => [3,4]。请注意,c 的值是一个数组。它还应该能够处理诸如c[1][2]=5制作数组数组之类的事情c => [[5]]

当然我可以自己通过拆分&and来完成=,但是其他情况,例如数组和数组的数组呢?我想要一个来自 POST 请求 queryString 的结构化NSDictionary,如果它已经存在,我不想重写轮子。

是否有任何通过 Apple 或第 3 方将查询字符串解析为结构化 NSDictionary 的类/方法?

4

2 回答 2

6

适用于 Mac的Google 工具箱包含一个GTMNSDictionaryURLArgumentsAdditions类别,NSDictionary您可以在该类别上做您想做的事。

如果您可以控制查询字符串(在客户端),则可以发送一个编码的 plist,该 plist 可以直接解码为NSDictionary.

于 2009-10-26T19:38:26.570 回答
1

在这种情况下可能有点矫枉过正,但 ParseKit 是一个用 Cocoa 为 Cocoa 应用程序编写的开源标记化/解析工具包:

http://parsekit.com

您可能会感兴趣。

ParseKit 被干净地分成两个组件:一个 Tokenizer,然后是一个构建在它之上的高级解析工具包。您可以使用这些组件中的一个或两个来帮助完成此类任务。但同样,对于这个相对简单的解析任务,ParseKit 可能是多余的。

于 2009-10-26T22:20:55.133 回答