【问题标题】:Create [NS]Dictionary from single string in Swift在 Swift 中从单个字符串创建 [NS]Dictionary
【发布时间】:2014-12-25 21:01:25
【问题描述】:

我有一个字符串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)

似乎没有任何效果,而且我似乎在文档中找不到任何帮助。有什么想法吗?

【问题讨论】:

  • 你从哪里得到这个字符串形式?
  • @BryanChen 来自 api,为什么?
  • 如果能把格式改成JSON,解析起来会容易很多。

标签: string dictionary swift casting nsdictionary


【解决方案1】:

该字符串类似于 JSON 对象。

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

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

我建议使用 Ragel

不过,对于这样的字符串来说,这两个任务都是多余的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-30
    • 2014-08-19
    • 1970-01-01
    • 1970-01-01
    • 2017-02-19
    • 2018-03-17
    • 1970-01-01
    • 2013-07-24
    相关资源
    最近更新 更多