Json用Swift 2提取数据

时间:2016-08-08 07:32:13

标签: json xcode swift2

我遇到了这个无法通过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有以下

how json is stored

无论如何都要从json访问结果?它没有把它当作数组或字典来处理

任何想法?

感谢

2 个答案:

答案 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)")
        }