SwiftyJSON 字典解析
Posted
技术标签:
【中文标题】SwiftyJSON 字典解析【英文标题】:SwiftyJSON dictionary parsing 【发布时间】:2015-02-10 02:45:27 【问题描述】:我正在尝试使用 SwiftyJSON 解析来自服务器的一些数据。
例如,假设从服务器返回的 JSON 是:
"data":
"id":"92",
"name":"harry",
"username":"Hazza"
,
"error":false
我想获取用户名字符串,为此我使用以下方法获取数据对象:
let data = json["data"].dictionaryValue
然后为了获取我希望能够做到的用户名字符串
let username = data["username"].stringValue
但是,这会返回一个错误,提示“(String, JSON) 没有名为“.stringValue”的成员。
这个看似简单的问题我哪里出了问题?
谢谢。
【问题讨论】:
【参考方案1】:你应该做的是:
if let username = json["data"]["username"].string
println(username)
【讨论】:
感谢您的回答。但是,根据 README.md,在非可选的 getter 下,似乎确实可以使用 stringValue。 github.com/SwiftyJSON/SwiftyJSON#non-optional-getter【参考方案2】:虽然上述方法可行,但真正的问题是您需要解压 dict 值:
let username = data["username"]!.stringValue
【讨论】:
【参考方案3】:对于 Swift 3/4
guard let username = json["data"]["username"].string else return nil
【讨论】:
以上是关于SwiftyJSON 字典解析的主要内容,如果未能解决你的问题,请参考以下文章
SwiftyJSON 并添加到现有的 [String: AnyObject] 字典