4

我正在尝试使用 SwiftyJSON 来解析来自服务器的一些数据。

例如,假设从服务器返回的 JSON 是:

{     
 "data":{  
     "id":"92",
     "name":"harry",
     "username":"Hazza"
   },
 "error":false
}

我想获取用户名字符串,因此我使用以下方法获取数据对象:

let data = json["data"].dictionaryValue

然后为了获取用户名字符串,我希望能够做到

let username = data["username"].stringValue

但是,这会返回一个错误,提示“(String,JSON)没有名为“.stringValue”的成员。

这个看似简单的问题我哪里错了?

谢谢你。

4

3 回答 3

9

你应该做的是:

if let username = json["data"]["username"].string {
    println(username)
}
于 2015-02-10T02:54:14.990 回答
3

虽然上述方法可行,但真正的问题是您需要解压缩 dict 值:

let username = data["username"]!.stringValue

于 2015-03-15T22:34:27.073 回答
1

对于斯威夫特 3/4

guard let username = json["data"]["username"].string else { return nil }
于 2019-03-25T13:34:14.173 回答