NSJSONSerialization给我错误“重复键”

时间:2012-03-25 09:37:59

标签: ios json nsjsonserialization

我从家庭控制设备请求JSON响应:

NSData* responseData = [NSData dataWithContentsOfURL:url];

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

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

它给了我以下错误:

  

错误:错误域= NSCocoaErrorDomain代码= 3840“操作无法完成。(Cocoa错误3840.)”(字符0周围的对象的重复键)UserInfo = 0x6a8b8e0 {NSDebugDescription =字符周围对象的重复键0}

我在网上搜索但到目前为止找不到任何有用的东西。


修改:JSON响应很长时间,所以请在here找到它而不是在此处发布。

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我得到了相同的错误,只是在应用运行时随机出现。当NSJSONSerialization失败时,我已经检查了它使用JSON Viewer楔入的json对象。 JSON总是好的。 NSJSONSerialization在多次调用时会出现错误?

答案 2 :(得分:0)

我得到了同样的错误。我的JSON数据在http://jsonformatter.curiousconcept.com/传递了JSON验证程序。但是,我在我的JSON中找到了两个重复的键(在字典的末尾)。删除这些键后,NSJSONSerialization可以顺利运行。