use*_*911 8 string nsdictionary ios swift
我想要解析像这样的JSON格式:
{
"key_1" : {
"key_2" : "value"
}
}
Run Code Online (Sandbox Code Playgroud)
然后分配"value"给变量.
这是我的代码:
var variableShouldBeAssigned: String
if let x = (jsonResult["key_1"]? as? NSDictionary) {
if let y = (x["key_2"]? as? String) {
variableShouldBeAssigned = y
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试向下转换x["key_2"]?为String 时会发生错误,但从向下转换jsonResult["key_1"]?为NSDictionary是可以的.
我可以通过使用x["key_2"]替换来解决错误x["key_2"]?,但我真的不知道为什么它只适用于jsonResult["key_1"]?.
谁能告诉我原因?
字符串不符合NSCopying,但NSString确实如此!此外,从NSString到String瞬间暗示......
所以我会说尝试这样的事情......将字符串更改为NSString
这是一个示例,假设您将jsonResult作为NSDictionary处理...
func giveDictionary(jsonResult:NSDictionary) -> String?
{
if let x = (jsonResult["key_1"]? as? NSDictionary)
{
if let y = (x["key_2"]? as? NSString)
{
return y
}
}
return nil
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5234 次 |
| 最近记录: |