SwiftyJSON 字典解析
SwiftyJSON dictionary parsing
我正在尝试使用 SwiftyJSON 来解析来自服务器的一些数据。
例如,假设从服务器返回的 JSON 是:
{
"data":{
"id":"92",
"name":"harry",
"username":"Hazza"
},
"error":false
}
我想获取用户名字符串,为此我使用以下方法获取数据对象:
let data = json["data"].dictionaryValue
然后为了获取用户名字符串我希望能够做到
let username = data["username"].stringValue
但是这个 returns 一个错误说'(String, JSON) 没有名为'.stringValue'的成员。
这个看似简单的问题我到底错在哪里了?
谢谢。
你应该做的是:
if let username = json["data"]["username"].string {
println(username)
}
虽然上面的方法可行,但真正的问题是您需要解压字典值:
let username = data["username"]!.stringValue
对于Swift 3/4
guard let username = json["data"]["username"].string else { return nil }
我正在尝试使用 SwiftyJSON 来解析来自服务器的一些数据。
例如,假设从服务器返回的 JSON 是:
{
"data":{
"id":"92",
"name":"harry",
"username":"Hazza"
},
"error":false
}
我想获取用户名字符串,为此我使用以下方法获取数据对象:
let data = json["data"].dictionaryValue
然后为了获取用户名字符串我希望能够做到
let username = data["username"].stringValue
但是这个 returns 一个错误说'(String, JSON) 没有名为'.stringValue'的成员。
这个看似简单的问题我到底错在哪里了?
谢谢。
你应该做的是:
if let username = json["data"]["username"].string {
println(username)
}
虽然上面的方法可行,但真正的问题是您需要解压字典值:
let username = data["username"]!.stringValue
对于Swift 3/4
guard let username = json["data"]["username"].string else { return nil }