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 }