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序列化是一条路要走。存储字典的描述是个糟糕的主意