swift - 不能使用字符串类型的索引下标 NSDictionary 类型的值

标签 swift indexing subscript

    var url: NSURL = NSURL(string: urlPath)!

    var request: NSMutableURLRequest = NSMutableURLRequest(URL: url)
    request.setValue("Basic \(base64EncodedCredential)", forHTTPHeaderField: "Authorization")
    request.HTTPMethod = "GET"

    var dataVal: NSData =  NSURLConnection.sendSynchronousRequest(request, returningResponse: nil, error:nil)!

    var err: NSError
    println(dataVal)


    //var jsonResult : NSDictionary?
    var jsonResult  = NSJSONSerialization.JSONObjectWithData(dataVal, options: NSJSONReadingOptions.MutableContainers, error: nil) as? NSDictionary

    println("Synchronous  \(jsonResult)")
    jsonResult["records"] 

这是错误发生的地方,我只想从我的 jsonResult 中获取一个值,它在控制台上正确打印。

最佳答案

您正在将 jsonResult 类型转换为 NSDictionary,而不是使用 [String:AnyObject]

如果你正在使用 NSDictionary,你应该使用 valueForKey(key) 或者 objectForKey(key) 方法 NSDictionary 获取 key 的值。

    var url: NSURL = NSURL(string: urlPath)!
    var err: NSError?

        var request: NSMutableURLRequest = NSMutableURLRequest(URL: url)
        request.setValue("Basic \(base64EncodedCredential)", forHTTPHeaderField: "Authorization")
        request.HTTPMethod = "GET"

        var dataVal: NSData =  NSURLConnection.sendSynchronousRequest(request, returningResponse: nil, error:nil)!

        var err: NSError
        println(dataVal)


        //var jsonResult : NSDictionary?
        var jsonResult:AnyObject?  = NSJSONSerialization.JSONObjectWithData(dataVal, options: NSJSONReadingOptions.MutableLeaves, error: &err)  

        println("Synchronous  \(jsonResult)")
        if let result = jsonResult as? [String: AnyObject] {
           if let oneValue = result["records"] as? String { //Here i am considering value for jsonResult["records"] as String, if it other than String, please change it.
             println(oneValue)
           }
       }

关于swift - 不能使用字符串类型的索引下标 NSDictionary 类型的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30393205/

相关文章:

elasticsearch - elasticsearch 如何从其索引中获取 AND 运算符查询

r - 在 R 中使用粘贴文本中的上标(对于多个值的向量)

arrays - 如何在 Swift 2 中使结构成为可订阅的?

ios - swift 。 iOS。当我再次运行应用程序时,存储在沙箱中的图片消失了

swift - 如何在 swift 2.0 中创建 NSMutableDictionary

ios - 为什么类型转换在 Swift 2.0 中的工作方式不同?

python - 使用 boolean 向量提取 ndarray 的子数组

sql - 部分键查找

c++ - 下标运算符后缀

ios - 如何获取 UITableView 中可编辑单元格的值? swift