我从家庭控制设备请求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找到它而不是在此处发布。
答案 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可以顺利运行。