ios - Swift NSJSONSerialization.JSONObjectWithData() 无法仅读取 "OK"字符串的数据

标签 ios json swift

这可能是我遇到过的最奇怪的事情了。我们已决定继续前进,但我想发一篇文章来尝试理解。

所以我从我们的服务器获取一些 JSON 数据,除了字符串“OK”之外,一切似乎都工作正常。

这是函数:

func getRequest(token:String, url:String, callback:(NSDictionary) -> ()){
    let request = NSMutableURLRequest(URL: NSURL(string: url)!)
    request.HTTPMethod = "GET"
    request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization")
    let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
        data, response, error in

        if data != nil && response != nil{
            do{
                let responseTest = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as? NSDictionary
                if responseTest != nil{
                    let response:NSDictionary = responseTest!
                    callback(response)
                }
            } catch let error as NSError{
                print("A JSON parsing error occured: \(error)")

            }
        } else {
            callback(NSDictionary())
        }
    }
    task.resume()
}

数据从调用中返回,然后响应正确解析所有数据,但状态“OK”除外,该状态返回时无法读取数据。我们将状态更改为“成功”,效果很好。我们测试了一堆不同的单词,它们都工作得很好,除了单词“OK”,它总是返回“无法读取数据”。我见过的最奇怪的事情。现在我们将处于“成功”状态,但是,我就是无法将其从我的脑海中抹去。为什么?!?!这2个字母有什么不同?还有其他人遇到过这个问题或者只是了解我似乎缺乏的吗?这让我发疯。

这是我们一次尝试中的 JSON:

{"username":"gang_su","status":"0K","status2":"这样好多了","status3":"好的好的好的","status4":"好的", "status5":true,"status6":123,"status7":12345.678,"status8":[1,2,3,4],"status9":[1.02,2.02,3.02,4.02]}

谢谢!!

最佳答案

{ username: req.user.username, status: 'OK', status2: "This is much more OK" }

上面的“JSON”用单引号括起来就OK了。这是无效的 JSON。

你可能会说,这不好。

它们需要是双引号,就像您在其他字符串中使用的那样。

关于ios - Swift NSJSONSerialization.JSONObjectWithData() 无法仅读取 "OK"字符串的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33768857/

相关文章:

c# - 使用 Json.NET 将嵌套 Firebase 数据库对象转换为 C# 对象

javascript - ng-根据条件显示表的记录

ios - 使用 Swift 读/写数组 plist

ios - 获取 TableView 的 CustomCell 中的 UIViewController

c++ - 在 xcode 10 上找不到 stdlibc++ header 错误

objective-c - 如何在 xcode 中对一组 Controller 进行分组

ios - 无法将 firebase 数据库下载到我的应用程序

iphone - 如何将 UILocatNotification 设置为每天早上 9 点触发

json - 使用 SwiftyJSON 解析 Alamofire JSON 结果

iOS:如何从注释 View 提供方向?