JSON数据相同但程序失败了吗?

时间:2011-12-07 14:57:21

标签: objective-c ios xcode json sbjson

我有一个iOS应用程序从服务器获取一些JSON(以NSData的形式)。我使用SBJson框架的解析器将其转换为NSDictionary对象,如下所示:

SBJsonParser *parser = [[SBJsonParser alloc] init];
NSDictionary *content = [parser objectWithData:data];

然后我继续从'内容'等读取对象。

现在,这个确切的代码使用旧版本的SBJson框架完成了PERFECT。该计划很好。然后我实现了一个新版本的SBJson框架,当我尝试用'content'做同样的事情时,我的程序突然崩溃了(更具体地说,我得到了一个EXC_BAD_ACCESS错误)。

我的第一个想法是新的SBJsonParser产生了一个稍微不同的文件,所以我将新的和旧的'content'记录到文本文件中,并从命令行对它们运行'diff'命令。它们完全一样。

所以,我所做的唯一改变就是使用新的SBJsonParser。我错过了什么?

1 个答案:

答案 0 :(得分:0)

解决方案是稍微改变我的代码:

SBJsonParser *parser = [[SBJsonParser alloc] init];
NSDictionary *content = [[parser objectWithData:data] retain];