可可误差解决方案3840 NSJSONSerialization

时间:2014-11-28 11:39:08

标签: ios json cocoa nsjsonserialization

当我尝试序列化JSON响应并且在控制台中收到以下错误消息时,我得到了可可错误3840 “JSON文本不是以数组或对象开头,而是选项允许未设置片段。”但我碰巧检查了chrome客户端的响应,我得到了正确的响应。当我在JSONValidator中复制粘贴响应时,我将其作为有效的JSON。但在我的iOS应用程序中,我无法得到响应。

有没有办法从iOS代码修复它?我尝试了所有可能的互联网解决方案。

NSError *error = nil;
NSMutableArray *jsons = [NSJSONSerialization JSONObjectWithData:theResponseData options:NSJSONReadingAllowFragments error:&error];
NSLog(@"connectionDidFinishLoading %@", jsons);

我在序列化选项中尝试了MutableContainers,MutableLeaves和kNil。我仍然无法获取数据。

1 个答案:

答案 0 :(得分:0)

试试这个 - 希望它能起作用

if ([operation isKindOfClass:[AFJSONRequestOperation class]] && [operation respondsToSelector:@selector(setJSONReadingOptions:)]) 
{    
    ((AFJSONRequestOperation *)operation).JSONReadingOptions = NSJSONReadingAllowFragments;
}

[httpClient enqueueHTTPRequestOperation:operation];

如果它不起作用,那么

[{"Firstname":"Johnny"}],

这是您的Web响应应包含的唯一示例内容。