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