NSJSONSerialization在iOS6上工作,但在iOS5.1上不工作
我正在努力将iOS5.1兼容性恢复到我发布的一个应用程序中,该应用程序目前需要6.0版本 这段代码在6.0下运行得非常好,但在5.1下运行时,解析将返回一个空对象,并在解析完全相同的JSON结果时返回一个错误NSJSONSerialization在iOS6上工作,但在iOS5.1上不工作,ios,nsjsonserialization,ios5,Ios,Nsjsonserialization,Ios5,我正在努力将iOS5.1兼容性恢复到我发布的一个应用程序中,该应用程序目前需要6.0版本 这段代码在6.0下运行得非常好,但在5.1下运行时,解析将返回一个空对象,并在解析完全相同的JSON结果时返回一个错误 我尝试弱链接基础框架 jsonError是- Error Domain=NSCocoaErrorDomain code=3840“操作无法完成。(Cocoa错误3840)。“(字符8周围对象的密钥重复。)UserInfo=0x11d58530{NSDebugDescription=字符8周
我尝试弱链接基础框架
jsonError是-Error Domain=NSCocoaErrorDomain code=3840“操作无法完成。(Cocoa错误3840)。“(字符8周围对象的密钥重复。)UserInfo=0x11d58530{NSDebugDescription=字符8周围对象的密钥重复。}
我已经用验证了我的JSON集,在字符8处只有一个对象类型的实例,字符8只是一个冒号:
{"site":{
这是密码
NSData *responseData = [request responseData];
NSError *jsonError;
NSDictionary *responseDict = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableContainers error:&jsonError];
if ((responseData == nil) || (responseDict == nil)) {
// I only get here when running on 5.1
}
为JSONSerialization尝试不同的读取选项
NSJSONReadingAllowFragments
这就是我在iOS 6版本的项目中使用的内容谢谢你的建议。在本例中,顶级对象是一个dictionary,因此该选项对我没有任何好处。iOS6版本中的任何代码都可以完美地工作——只有在5.x上运行时,此代码才不起作用。