错误(错误域= NSCocoaErrorDomain代码= 3840“字符0周围的值无效。”UserInfo = {NSDebugDescription =字符0周围的值无效。}

时间:2016-05-23 07:17:07

标签: ios json swift alamofire

我收到此错误为JSON result.error。虽然我的JSON是有效的,但请在线查看JSON vaildator。

这是我的JSON请求代码。

Alamofire.request(.POST, url, parameters: parameters, encoding:.JSON)
                .responseJSON { (request, response, result) in
                    hud.hide(true)
                    // Set flag to disale poor internet connection alert
                    weakInternet = false
                    print(result.error)
                    if (result.value != nil) {
                        print("API Response: \(result.value!)")
                        // Pass the response JSON to the completion block
                        completion(json: result.value!)
                    } else {
                        // Response JSON is NULL
                    }
            }

当我点击具有特定请求参数的相同服务时,我收到了此响应。

{"error":"success","post_data":{"first_name":"hd","last_name":"df","email":"hiiaaaaaaa@dnsa.coma","password":"himanshu","confirm_password":"himanshu","companies":["Big Rattle Technologies_Fg_yes"],"institutes":[""]},"msg":"success","data":{"_id":"5742ae1564b35e37369f0838","first_name":"hd","last_name":"df","email":"hiiaaaaaaa@dnsa.coma","profile_pic":"","loc":[0,0],"locs":{"type":"Point","coordinates":[0,0]},"institutes":[],"companies":[{"comapny_id":"555b2d0a678e79ed510041ce","group_id":"556c2434678e79a1820041dd","name":"Big Rattle Technologies","designation":"Fg","is_current":"yes"}],"device_token":"","user_group":"site_user","is_verified":0,"is_disclose":1,"is_discover":1,"wallNotification":1,"messageNotification":1,"matchNotification":1,"verificationSent":0,"status":1,"mobile":"","linkedin_id":"","facebook_id":"","os":"","qblox_id":12957726,"updated_at":"2016-05-23 07:15:33","created_at":"2016-05-23 07:15:33","current_company":"Big Rattle Technologies"}}

有人知道我的问题是什么?

4 个答案:

答案 0 :(得分:4)

我的网络服务存在问题。他们以“text / HTML”格式而不是HTML格式给我回复。当我在调试器上打印我的响应时,我得到了:

"Content-Type" = "text/html; charset=UTF-8";

现在,我更新了我的网络服务,一切都像魅力一样。

答案 1 :(得分:2)

我上次得到同样的错误,因为会有问题是web服务返回我在数组中的响应,我正在尝试将其转换为字典并提取其值。

检查您的网络服务响应。

答案 2 :(得分:0)

Swift 5,Swift 4

var headers = HTTPHeaders()
    headers = [
        "Content-Type" :"text/html; charset=UTF-8",
        //"Content-Type": "application/json",
        //"Content-Type": "application/x-www-form-urlencoded",
        //"Accept": "application/json",
        "Accept": "multipart/form-data"
    ]

答案 3 :(得分:0)

我在使用错误 Firebase Server 密钥发送远程推送通知时遇到此错误。

转到Firebase > Project Overview > CogIcon > Project Settings > Cloud Messaging > Server Key

enter image description here

guard let url = URL(string: "https://fcm.googleapis.com/fcm/send") else { return }    

var request = URLRequest(url: url)
request.httpMethod = "POST"
request.httpBody = try?

let paramDict = [String:Any]() // this has values
JSONSerialization.data(withJSONObject: paramDict, options: [])
request.setValue("application/json", forHTTPHeaderField: "Content-Type")

let serverKey = "firebase server key" // *** SERVER KEY USED HERE ***
request.setValue("key=\(serverKey)", forHTTPHeaderField: "Authorization")

let task = URLSession.shared.dataTask(with: request)  { (data, response, error) in

    do {
        if let jsonData = data {
                    
            if let jsonDataDict = try JSONSerialization.jsonObject(with: jsonData, options: JSONSerialization.ReadingOptions.allowFragments) as? [String: AnyObject] {
                print("jsonData Successfully Sent data: \n\(jsonDataDict))")
            }
        }
    } catch let err as NSError {
        print("jsonData Error: \(err.debugDescription)")
    }
}
task.resume()