NSJSONSerialization给我错误“重复键”

我请求一个家庭控制设备的JSON响应:

NSData* responseData = [NSData dataWithContentsOfURL:url]; 

responseData的JSON数据是完整且有效的。 但是,如果我尝试

 NSDictionary* dict = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error]; NSLog("Error: %@", error); 

它给了我以下错误:

错误:Error Domain = NSCocoaErrorDomain Code = 3840“The operation could not be completed。(Cocoa error 3840.)”(对于字符0周围的对象的重复键)UserInfo = 0x6a8b8e0 {NSDebugDescription =对于字符0周围的对象的重复键。

我在网上search,但到目前为止找不到任何有用的信息。


编辑 :它的JSON响应相当长,所以而不是张贴在这里,请在这里find它。

它看起来像JSON是好的粘贴到http://jsonformat.com/ – 也许你发现了一个苹果的错误? 另一种尝试和validation的方法是使用第三方iOS库,看看它是否给你同样的错误? 说, TouchJSON ?

我得到相同的错误,只有在应用程序运行时随机。 当NSJSONSerialization失败时,我检查了JSON对象,使用JSON查看器进行阻塞。 JSON总是OK的。 多次调用NSJSONSerialization时出现错误?

我得到了同样的错误。 我的JSON数据在http://jsonformatter.curiousconcept.com/上传递了JSONvalidation器。 但是,我发现我的JSON中有两个重复的键(在字典的末尾)。 我删除这些键后,NSJSONSerialization工作顺利。