Swift:JSON似乎没问题,但我仍然得到Cocoa错误3840

时间:2014-10-26 00:18:31

标签: ios xcode swift

我尝试连接到网络服务,进行后期调用。根据jsonlint.com的说法,JSON输出正常。正如我在WS日志中看到的那样,请求未完成。

func create() -> Bool {
        var error: NSError?
        var url: NSURL = NSURL(fileURLWithPath: "\(WSUrl)/profiles.json")!
        var successedOperation: Bool = false

        var request: NSMutableURLRequest = NSMutableURLRequest(URL: url)
        request.HTTPMethod = "post"
        request.addValue("application/json", forHTTPHeaderField: "Content-Type")
        request.addValue("application/json", forHTTPHeaderField: "Accept")

        var dataToJSON = "{\"profiles\":{\"email\":\"\(self.email)\",\"password\":\"\(self.password)\",\"password_confirmation\":\"\(self.passwordConfirmation)\",\"username\": \"\(self.username)\",\"age\": \"\(self.age)\",\"gender\":\"\(self.gender)\"}}"

        println(dataToJSON)

        request.HTTPBody = dataToJSON.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)

        let config = NSURLSessionConfiguration.defaultSessionConfiguration()
        let session = NSURLSession(configuration: config)

        var task = session.dataTaskWithRequest(request, completionHandler: { (data, response, error) -> Void in
            println("Response: \(response)")
            var strData = NSString(data: data, encoding: NSUTF8StringEncoding)
            println("Body: \(strData)")
            var error: NSError?
            var json = NSJSONSerialization.JSONObjectWithData(data, options: .MutableLeaves, error: &error) as? NSDictionary

            if error != nil {
                println(error?.localizedDescription)
                let jsonString = NSString(data: data, encoding: NSUTF8StringEncoding)
                println("Error: \(jsonString)")
            } else {
                if let parseJSON = json {
                    var success = parseJSON
                    println("Success: \(success)")
                } else {
                    let jsonString = NSString(data: data, encoding: NSUTF8StringEncoding)
                    println("Error could not parse JSON: \(jsonString)")
                }
            }

        })

        task.resume()

        return successedOperation

    }

JSON outputed没问题:

{"profiles":{"email":"diegocharles@diegocharles.com","password":"abc1234","password_confirmation":"abc1234","username": "diegocharles","age": "18","gender":"Male"}}

打印错误

"The operation couldn’t be completed. (Cocoa error 3840.)"

1 个答案:

答案 0 :(得分:1)

Found versions 27.0.2, 25.2.0, examples include com.android.support:animated-vector-drawable:27.0.2 and com.android.support:mediarouter-v7:25.2.0 用于为磁盘上的文件创建fileURL(withPath:)。你要找的是URL