【问题标题】:NSJSONSerialization works on iOS6 but not on iOS5.1NSJSONSerialization 适用于 iOS6 但不适用于 iOS5.1
【发布时间】:2012-10-25 20:33:35
【问题描述】:

我正在努力恢复 iOS5.1 与我发布的应用程序的兼容性,该应用程序目前需要 6.0。

此代码在 6.0 下完美运行,但在 5.1 下运行时解析返回 null 对象,解析完全相同的 JSON 结果时返回错误。

我尝试弱链接 Foundation 框架

jsonError 是 -

Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (Duplicate key for object around character 8.) UserInfo=0x11d58530 {NSDebugDescription=Duplicate key for object around character 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            
}

【问题讨论】:

    标签: ios nsjsonserialization ios5


    【解决方案1】:

    为 JSONSerialization 尝试不同的读取选项?

    NSJSONReadingAllowFragments
    

    这就是我用于我的项目的 iOS 6 版本的内容

    【讨论】:

    • 感谢您的建议。在这种情况下,顶级对象是字典,因此该选项对我没有任何好处。任何 iOS6 版本都可以完美运行,但在 5.x 上运行时,此代码不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多