Objective c 操作无法';不可能完成。(错误:3840。)

Objective c 操作无法';不可能完成。(错误:3840。),objective-c,json,web-services,ios6,nsjsonserialization,Objective C,Json,Web Services,Ios6,Nsjsonserialization,我正在尝试解析ios 6应用程序的JSON,但似乎无法让它工作。我已经搜索了很多论坛,但还没有找到一个有效的解决方案,也没有找到一个我足够理解的解决方案,也没有找到一个适用的解决方案 如果有一个我错过了,我道歉 首先,我有一个测试Web服务,据我所知,它返回有效的JSON 其次,这是我的Objective-C代码: + (NSDictionary *)connectToService:(NSString *)query { NSError *error = nil; quer

我正在尝试解析ios 6应用程序的JSON,但似乎无法让它工作。我已经搜索了很多论坛,但还没有找到一个有效的解决方案,也没有找到一个我足够理解的解决方案,也没有找到一个适用的解决方案

如果有一个我错过了,我道歉

首先,我有一个测试Web服务,据我所知,它返回有效的JSON

其次,这是我的Objective-C代码:

+ (NSDictionary *)connectToService:(NSString *)query
{
    NSError *error = nil;

    query = [NSString stringWithFormat:@"%@&format=json&nojsoncallback=1", query];
    query = [query stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    NSData *jsonData = [[NSString stringWithContentsOfURL:[NSURL URLWithString:query] encoding:NSUTF8StringEncoding error:nil] dataUsingEncoding:NSUTF8StringEncoding];

    NSDictionary *results = jsonData ? [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers|NSJSONReadingMutableLeaves error:&error] : nil;

    NSLog(@"locations: %@", results);

    if (error)
        NSLog(@"[%@ %@] JSON error: %@", NSStringFromClass([self class]), NSStringFromSelector(_cmd), error.localizedDescription);

    return results;
}

+ (NSArray *)userLocation {
    NSString *request = [NSString stringWithFormat:@"http://thetrouthunter.com/SVLocationsAPI.php"];
    return [[self connectToService:request] valueForKeyPath:@"locations.location"];
}
ls NSLog函数正在打印错误:“操作无法完成。(Cocoa错误:3840)。”


我不明白为什么会这样。我尝试过各种方法。

您正在将
%@&format=json&nojsoncallback=1
添加到
connectToService:
中的URL中,新URL将生成一个网页,而不是您期望的json(即)


记录HTTP请求的实际结果可能很有用,这样您就可以调试它,直到获得JSON(即在调用序列化函数之前)。

很好,谢谢!但是,当我准备好通过查询字符串添加参数时,我会怎么做呢?您可以向URL添加参数,只需确保脚本的输出是JSON:)我明白了。当应用查询字符串时,我甚至没有意识到我的站点正在重定向到主页。谢谢你的帮助和超级快速的回复。