错误域= NSCocoaErrorDomain代码= 3840“无法完成操作

时间:2014-05-08 09:19:51

标签: php objective-c json nserror

我已使用link代码发送并获取json数据。

我使用以下代码修改了与Web服务器同步数据的代码。

- (IBAction)syncTickets:(id)sender {

 [self postTest];
 [self getTest];

}

我有覆盖getTest函数将数据保存到手机数据库中。 我收到了一个错误

Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed.
(Cocoa error 3840.)" (JSON text did not start with array or object and option to allow 
fragments not set.) UserInfo=0x987b960 {NSDebugDescription=JSON text did not start
with array or object and option to allow fragments not set.
}

只有在我第一次同步后才能正常工作。你能给我一个解决方案。

1 个答案:

答案 0 :(得分:3)

我已经回答here

与上述相同的答案

您服务器的响应可能不包含有效的JSON。

从技术上讲,JSON对象必须以"数组开头#34;或者"对象(字典)"。

所以,无论你的服务器返回什么,都不是。

而且,无论使用NSJSONReadingAllowFragments选项,都可以强制使用JSON。

使用,

AFJSONResponseSerializer *responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingAllowFragments];