2015-02-10 100 views
3

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

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

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

我想获得的用户名字符串,所以要做到这一点,我获得使用数据对象:

let data = json["data"].dictionaryValue 

然后为了抓住用户名字符串,我期望能够做到

let username = data["username"].stringValue 

但是,这个返回错误,说'(String,JSON)没有名为'.stringValue'的成员。

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

谢谢。

回答

7

你应该做的是:

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

谢谢您的回答。但是,根据README.md,在非可选的getter下,似乎对stringValue有用。 https://github.com/SwiftyJSON/SwiftyJSON#non-optional-getter – coldbuffet 2015-02-10 03:34:33

3

虽然上面会的工作,真正的问题是你需要解压字典值:

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