私は、現在 6.0 を必要とする出荷したアプリに iOS 5.1 の互換性を復元する作業を行っています。
このコードは 6.0 では完全に機能しますが、5.1 で実行するとまったく同じ JSON 結果を解析すると null オブジェクトとエラーが返されます。
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
}
Foundation フレームワークを弱リンクしてみました。jsonError
は_
Error Domain=NSCocoaErrorDomain Code=3840 "The operation could not be completed. (Cocoa error 3840.)" (文字 8 付近のオブジェクトのキーが重複しています。) UserInfo=0x11d58530 {NSDebugDescription=文字 8 付近のオブジェクトのキーが重複しています。}
JSON を検証したところ、文字 8 にオブジェクト型のインスタンスが 1 つだけあり、文字 8 は単なるコロンです。
{"site":{