SwiftyJSON 字典解析

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”的成员。

对于这个看似简单的问题,我错在哪里了?

谢谢。

3个回答

9
您需要做的是:

步骤如下:

if let username = json["data"]["username"].string {
    println(username)
}

谢谢您的答复。但是,根据README.md,在非可选的getter下,确实存在使用stringValue的情况。 https://github.com/SwiftyJSON/SwiftyJSON#non-optional-getter - coldbuffet

3
虽然上面的代码可以工作,但真正的问题在于需要拆开字典值: let username = data["username"]!.stringValue

1

针对 Swift 3/4

guard let username = json["data"]["username"].string else { return nil }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接