字符981附近的非转义控制字符。parsingJSON时发生错误

错误域= NSCocoaErrorDomain代码= 3840“字符981周围的未转义的控制字符。 UserInfo = {NSDebugDescription =字符981周围的非转义控制字符。}

我在请求的回应中遇到了以上错误。

以下是代码行:

Alamofire.request(.POST, urlStr, parameters: parameter, encoding: .JSON, headers: nil).validate().responseJSON { response in switch response.result { case .Success(let JSON): completionHandler(JSON as! NSDictionary) case.Failure(let Error): print(Error) } } 

它在Postman中给出了JSON响应。

我在邮递员那里得到的回应是:

 { "orderdetails": { "status_code": "200", "status_message": "Order details", "billingandshipping": { "billing": { "firstname": "first", "lastname": "last", "email": "aa@bbb.com", "address": "dasdesfrew", "city": "Rajkot", "area": "University Road", "pincode": "360003", "phone": "1234567890", "mobileno": "1234567891" }, "shipping": { "firstname": "first", "lastname": "last", "email": "aa@bbb.com", "address": "dasdesfrew", "city": "dasdesfrew", "area": "dcdc", "pincode": "360003", "phone": "1234567890", "mobileno": "1234567891" } }, "orders": [ { "order_id": "77", "order_date": "09-08-2016 13:05:29", "delivery_date": "10-08-2016", "order_items": [ { "Sr": "1", "product_name": "Lemon", "gujtitle": "લીંબુ ", "product_code": "000057", "product_price": "108.00", "product_qty": "2", "unit": "1 kg.", "product_total": "216" } ], "final_total": "216.00", "shipping_cost": "0.00", "order_total": "216.00", "discount_type": "null", "discount_amount": "null", "coupon_name": "null", "comment": "gdhdj\nfghd.g\nghj\n\n\n\n\n\n\n\n\n\n.." } ] } } 

正如你所说,有关于“\ n”的问题

所以我build议你可以添加“\”,这将为你下面的工作

“\ n”=>“\\ n”

因为这是特殊的字符回退字符。

希望你得到你的答案

NSLog你收到的NSData,看看你在字节981find什么。与非转义控制字符的事情是,他们是不可见的,所以你不能看到他们在一个NSString,但你会看到他们在NSData。

如果您的数据长度为981字节或非常接近,那么您的代码有可能会处理不完整的JSON数据,这些数据几乎总是失败; 这是需要解决的问题。 如果在某些项目(如两个数组元素之间)之间存在控制字符,那么这可能是服务器代码中的一个错误。