我正在使用swift创建iOS应用程序。 XCODE版本6.3 我在NSString中存储NSData。这是代码。
var strData = NSString(data: data, encoding: NSUTF8StringEncoding)
现在strData包含这样的值。
**strData: Optional({"result":true,"user_id":2,"role_id":2,"msg":"Signed in successfully.”})**
我想将user_id和role_id存储在2个单独的字符串中。
首先,我将NSString更改为Swift中的普通String
var strData = NSString(data: data, encoding: NSUTF8StringEncoding)
as String?
当我们打印strData输出时会是这样的。
**strData: Optional("{\"result\":true,\"user_id\":2,\"role_id\":2,\"msg\":\"Signed in successfully.\"}”)**
在我看来,字符串的格式为字典[键值对]
所以我创建了一个这样的字典,
var lognInDetails = Dictionary<Int, String>()
self.lognInDetails[1] = strData
将字符串存储到字典中。
这一切都很好
问题是我想根据密钥从字典中检索值。
对于user_id键,我想存储值2.
我使用了这段代码,
self.userid = self.lognInDetails[ 1 , "user_id"] as Dictionary<Int, String>
这里的userid是一个String变量。 我只是swift的首发。我有兴趣了解更多关于swift&amp; amp; objective-C.谢谢你的帮助。
答案 0 :(得分:1)
你可以直接将NSData转换为NSDictionary&amp;然后使用它们的值设置字符串。要将NSdata转换为NSDictionary,请使用
let jsonDict = NSJSONSerialization.JSONObjectWithData(data, options: nil, error: &error) as NSDictionary
答案 1 :(得分:0)
让userId = json?[&#34; user_id&#34;]?。integerValue