作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 json 字符串:let jsonStr = {"username":"Jame"}
,我使用 swiftyJson:let json = JSON(jsonStr)
。现在我想获取用户名,所以我尝试了 json["username"].string
,但结果为 nil。
最佳答案
首先,您应该使用让 jsonStr = "{\"username\":\"Jame\"}"
而不是让 jsonStr = {"username":"Jame"}
如果jsonStr
只是String,则需要将String 转换为Dictionary。JSON
初始化程序需要 Dictionary 的实例。试试这个:
let jsonStr = "{\"username\":\"Jame\"}" // string
let jsonData = jsonStr.dataUsingEncoding(NSUTF8StringEncoding)! // string->NSData
let jsonDic = try! NSJSONSerialization.JSONObjectWithData(jsonData, options: .AllowFragments) // NSData->Dictionary
let json = JSON(jsonDic) // good!
print(json)
let name = json["username"].string
print(name) // Optional("Jame")
更安全的是,您使用 if let
、do{} catch(let e){}
而不是 !
、try !
关于ios - swift SwiftyJSON 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34214603/
我是一名优秀的程序员,十分优秀!