在迁移到最新版本时,发现使用Swift 3中的Alamofire 4解析很难从JSON获取并打印name,age和dob字段。
JSON FORMAT
"SetValues": {
"data":
[
{
"Name": yyyyy ,
"Age": 13,
"DOB": "2017-06-08",
}
{
"Name": xxxx ,
"Age": 33,
"DOB": "2015-06-08",
}
]
}
我试过
Alamofire.request(url!,
method: .post,
parameters: nil,
encoding: JSONEncoding.default,
headers: headers)
.responseJSON{ response in
let datamsg = jsonmsg?["SetValues"] as? [String : Any]
let dataset = datamsg?["data"] as? [String : Any]
let setValues = datamsg?["data"]
print (setValues[0]["Name"] as Any)
}
答案 0 :(得分:1)
问题出在这一行
let dataset = datamsg?["data"] as? [String : Any]
从JSON响应字符串中可以看出它应该如下所示
let dataset = datamsg?["data"] as? [[String : Any]]
let name = dataset?[0]["Name"] as? String