Swift:如何将字符串转换为字典

Swift:如何将字符串转换为字典,swift,dictionary,Swift,Dictionary,我有一本字典,我把它转换成字符串存储在数据库中 var Dictionary = [ "Example 1" : "1", "Example 2" : "2", "Example 3" : "3" ] 我使用 Dictionary.description 去拿绳子 我可以将其完美地存储在数据库中,但当我读回它时,显然它是一个字符串 "[Example 2: 2, Example 3: 3, Examp

我有一本字典,我把它转换成字符串存储在数据库中

        var Dictionary =
    [
        "Example 1" :   "1",
        "Example 2" :   "2",
        "Example 3" :   "3"
    ]
我使用

Dictionary.description
去拿绳子

我可以将其完美地存储在数据库中,但当我读回它时,显然它是一个字符串

"[Example 2: 2, Example 3: 3, Example 1: 1]"    
我想把它转换回我可以这样评估它

Dictionary["Example 2"]
我该怎么做呢


谢谢

说明文本不能保证在SDK版本中保持稳定,因此我不会依赖它


最好是使用JSON作为中间格式。从字典转换为JSON字符串并返回。

我在字符串助手类中创建了一个静态函数,然后可以调用该函数

 static func convertStringToDictionary(json: String) -> [String: AnyObject]? {
    if let data = json.dataUsingEncoding(NSUTF8StringEncoding) {
        var error: NSError?
        let json = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.allZeros, error: &error) as? [String: AnyObject]
        if let error = error {
            println(error)
        }
        return json
    }
    return nil
}
那么你可以这样称呼它

if let dict = StringHelper.convertStringToDictionary(string) {
   //do something with dict
}

这正是我现在正在做的。考虑到@gregheo所说的“description.text不能保证在SKD版本中保持稳定”description.text可能会在格式书写中发生变化,因此依赖它不是很明智

我相信这是做这件事的标准

    let data = your dictionary

    let thisJSON = try  NSJSONSerialization.dataWithJSONObject(data, options: .PrettyPrinted)

    let datastring:String = String(data: thisJSON, encoding: NSUTF8StringEncoding)!

您可以将数据字符串保存到coredata。

将字符串转换为字典是什么意思?如果您有一个字符串
“Example”
,并且希望从中获得一个字典,您希望得到什么?有了新的信息,您应该搜索JSON序列化。然而,我不知道如何在Swift中实现它。是的,JSON序列化是一条路要走。存储字典的描述是个糟糕的主意