在Swift中从单个字符串创建[NS]字典

时间:2014-10-29 23:37:31

标签: string dictionary swift casting nsdictionary

我有一个字符串var dictAsString:String = '["foo" : 123, "bar" : 456]',我想将其转换为Dictionary(或NSDictionary,我并不特别。)我已经尝试了

var dictAsObj:AnyObject = dictAsString as AnyObject
var dictAsDict:NSDictionary = dictAsObj as NSDictionary

但这不起作用。我也试过了

var dictAsDict:NSDictionary = NSDictionary(objectsAndKeys: dictAsString)

var dictAsObj:AnyObject = dictAsString as AnyObject
var dictAsDict:NSDictionary = NSDictionary(objectsAndKeys: dictAsObj)

似乎没什么用,我似乎无法在文档中找到任何帮助。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

该字符串类似于JSON对象。

您可以用大括号替换方括号,并使用 NSJSONSerialization 类从中获取字典。

最糟糕的情况是,你应该写一个小解析器。

我建议使用 Ragel

但是这两个任务对于像这样的字符串来说都是过度的。