如何从 swift 语言的以下格式中获取值?
How Can I Get the value from the below format in swift Language?
回复:
{
"access_token" = 91BB0E206CC453B75349F185876F0D80;
nickname = Hari;
"open_id" = 4889ACDAA79490B10E4F196876144181;
province = "";
}
我需要从上面的回复中得到 access_token,昵称。
此处为 Swiftenter 代码中的 MyCode
let jsonObjects=object as! NSArray
for dataDict : Any in jsonObjects
{
let access_token: NSString! = (dataDict as AnyObject).object(forKey: "access_token") as! NSString
let nickname: NSString! = (dataDict as AnyObject).object(forKey: "nickname") as! NSString
print (access_token!)
print (nickname!)
}
错误:
Could not cast value of type '__NSDictionaryM' (0x114a120e0) to 'NSArray' (0x114a11c58).
为了避免此类崩溃,访问 json 数据的更好方法如下:
if let json = jsonData as? [String: Any] {
if let token = json["access_token"] as? String {
self.accesToken = token
}
if let nickname = json["nickname"] as? String {
self.nickname = nickname
}
}
您可以将每个对象转换为您期望的类型,如果不是,则什么也不会发生。如果您需要发生某些事情,您可以对每张支票添加 else
。
回复:
{
"access_token" = 91BB0E206CC453B75349F185876F0D80;
nickname = Hari;
"open_id" = 4889ACDAA79490B10E4F196876144181;
province = "";
}
我需要从上面的回复中得到 access_token,昵称。
此处为 Swiftenter 代码中的 MyCode
let jsonObjects=object as! NSArray
for dataDict : Any in jsonObjects
{
let access_token: NSString! = (dataDict as AnyObject).object(forKey: "access_token") as! NSString
let nickname: NSString! = (dataDict as AnyObject).object(forKey: "nickname") as! NSString
print (access_token!)
print (nickname!)
}
错误:
Could not cast value of type '__NSDictionaryM' (0x114a120e0) to 'NSArray' (0x114a11c58).
为了避免此类崩溃,访问 json 数据的更好方法如下:
if let json = jsonData as? [String: Any] {
if let token = json["access_token"] as? String {
self.accesToken = token
}
if let nickname = json["nickname"] as? String {
self.nickname = nickname
}
}
您可以将每个对象转换为您期望的类型,如果不是,则什么也不会发生。如果您需要发生某些事情,您可以对每张支票添加 else
。