我遇到了这个无法通过JSON响应访问值的问题,
回复是:{"结果":[true]}
当JSON使用此代码获取它时
do{
let json = try NSJSONSerialization.JSONObjectWithData(data!, options:.AllowFragments)
let result:String = json["result"]
print(result)
}catch {
print("Error with Json: \(error)")
}
我收到错误,当我进行调试时,我看到json有以下
无论如何都要从json访问结果?它没有把它当作数组或字典来处理
任何想法?
感谢
答案 0 :(得分:1)
result
不是String
,而是Array
Bool
(由括号表示)。
除非编译器需要,否则基本上不注释类型。
将JSON转换为正确的类型并使用Swift本机集合类型。还建议使用可选绑定以避免意外崩溃。
do {
if let json = try NSJSONSerialization.JSONObjectWithData(data!, options:.AllowFragments) as? [String:AnyObject],
result = json["result"] as? [Bool] where !result.isEmpty {
print(result[0])
}
} catch {
print("Error with Json: \(error)")
}
答案 1 :(得分:0)
试试这个
do{
let json = try NSJSONSerialization.JSONObjectWithData(data!, options:.AllowFragments) as! NSDictionary
let result = json["result"] as! NSArray
print(result)
let boole = result[0];
}catch {
print("Error with Json: \(error)")
}