我有一个查询字符串:a=1&b=2&c[1]=3&c[2]=4
等...
我想要一个NSDictionary a => 1
,b => 2, c => [3,4]
。请注意,c的值是一个数组。它还应该能够处理类似c[1][2]=5
的内容来创建数组c => [[5]]
。
当然我可以通过拆分&
和=
来自己完成,但是其他情况如数组和数组数组呢。我想从POST请求queryString中获取 结构化 NSDictionary,并且如果已经存在,则不想重写轮。
是否有通过Apple或第三方将查询字符串解析为结构化NSDictionary的类/方法?
答案 0 :(得分:6)
Google Toolbox for Mac在NSDictionary
上包含GTMNSDictionaryURLArgumentsAdditions
类别,可以执行您想要的操作。
如果您可以控制查询字符串(在客户端),您可以发送编码的plist,可以将其直接解码为NSDictionary
。
答案 1 :(得分:1)
在这种情况下可能有些过分,但ParseKit是一个用Cocoa编写的开源标记化/解析工具包,用于Cocoa应用程序:
你可能会感兴趣。
ParseKit完全分为两个组件:Tokenizer,然后是构建在其上的高级解析工具包。您可以使用这些组件中的任何一个或两个来帮助完成此类任务。但同样,ParseKit对于这个相对简单的解析任务可能有点过分。