我有一本字典,当我记录它时显示...
{
Date = "2013-04-30 17:17:18 +0000";
Description = Kb;
EventID = "92193e58-c04a-4233-9a6c-1332bc056b20";
Title = Keyboard;
}
我正在尝试将其转换为NSData以用于像这样的JSON Web服务......
- (NSData *)JSONRepresentation
{
NSDictionary *dictionary = [self dictionaryObject];
NSError *jsonError;
NSData *JSONData = [NSJSONSerialization dataWithJSONObject:dictionary
options:0
error:&jsonError]; //This is where the error occurs.
return JSONData;
}
但每次我运行它时,应用程序都会崩溃。
字典正确形成,应用程序只是在此行崩溃。
在AppCode中,我收到崩溃报告......
EXC_BREAKPOINT (code=EXC_ARM_BREAKPOINT, subcode=0xdefe))
在Xcode中,应用程序停止运行,如果我尝试继续,则会因错误而停止...
EXC_BAD_ACCESS (code=1, address=0x0)
答案 0 :(得分:14)
您的密钥是转换为JSON的无效对象。 From the docs:
可以转换为JSON的对象必须具有以下内容 属性:
顶级对象是NSArray或NSDictionary。所有对象都是 NSString,NSNumber,NSArray,NSDictionary或NSNull的实例。所有 字典键是NSString的实例。数字不是NaN或 无穷大。
答案 1 :(得分:0)
之前检查,如果字典无效转换,返回。:
if (![NSJSONSerialization isValidJSONObject:dictionary]) { return; }