这篇文章介绍了解析json普通数据,像字符串这些。解析数组最后简单的提了下。这里再详细给大家演示下。先看下面这段json数据
{
"error_code": 0,
"message_en": "Success",
"message_cn": "成功",
"detail": [
{
"userid": 12523261,
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjE4ODcyMjEwODAwIiwicGFzcyI6IjY2NjY2NiIsImFwcGtleSI6InNkNzgzMmVoZHdla3dwOWUiLCJpYXQiOjE0NTgwMjk0NTMsImV4cCI6MTQ1ODYzNDI1M30.YhxcuMwx_L5h_hE0-JR8T0aorHG-8V7mneNLqzDDS_s",
"active": 0,
"videoCfg": [
{
"userid": "hello",
"mobile": "18888888888"
}
]
}
]
}
我们要解析得到这个token值的话,需要做以下几步,先获取到detail数组,然后下标为0的AnyObject中获取token值。说的可能比较抽象,看代码:
static func parseResultHead(json:NSData, result:HttpResult){
let jsonObj:AnyObject? = try?NSJSONSerialization.JSONObjectWithData(json, options: NSJSONReadingOptions.AllowFragments)
if(!NSJSONSerialization.isValidJSONObject(jsonObj!)){
print("json format is invalid")
return
}
result.error_code = jsonObj?.objectForKey("error_code") as! Int
result.message_en = jsonObj?.objectForKey("message_en") as! String
result.message_cn = jsonObj?.objectForKey("message_cn") as! String
result.detail = jsonObj?.objectForKey("detail")
}
以上是解析头的,已经获取到detail的数组。存放是AnyObject类型。现在用detail来解析到token值。
let detail:[AnyObject] = result.detail as! [AnyObject]
if detail.count > 0 {
let token:String = detail[0].objectForKey("token") as! String
print(token)
}
通过以上步骤即可获取到token字段的值了。
本文链接:https://it72.com:4443/8276.htm