1

我在这种在 xcode 中使用 json 的方法中遇到了这个问题。(我的 xcode 版本是 5)
这是有错误的语句:

NSDictionary * dict = [[CJSONDeserializer deserializer] deserializeAsDictionary:jsonData error:&error];

错误:使用未声明的标识符“ CJSONDeserializer”。但是我已经在项目中声明了这个类,所以我能做什么???

请帮助我,我真的需要尽快解决这个问题。

这就是所有的方法。

- (void) viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    NSURL *url = [NSURL URLWithString:@"http://localhost:8888/json.php"]; // Modify this             to match your url.

    NSString *jsonreturn = [[NSString alloc] initWithContentsOfURL:url]; // Pulls the URL
    NSLog(jsonreturn); // Look at the console and you can see what the restults are

    NSData *jsonData = [jsonreturn dataUsingEncoding:NSUTF32BigEndianStringEncoding];
    NSError *error = nil;

    // In "real" code you should surround this with try and catch
    @try {
        NSDictionary * dict = [[CJSONDeserializer deserializer] deserializeAsDictionary:jsonData error:&error];
        if (dict)
        {
            rows = [[dict objectForKey:@"user"] retain];
        }

        NSLog(@"Array: %@",rows);

        [jsonreturn release];
    }
}
4

1 回答 1

0

这是TouchJSON库的一部分。您应该确保已将该库包含在您的项目中。还要确保在 .m 文件的顶部导入了适当的标题:

#import "CJSONDeserializer.h"

或者更改您的代码以使用内置的NSJSONSerialization,例如替换以下行:

NSDictionary * dict = [[CJSONDeserializer deserializer] deserializeAsDictionary:jsonData error:&error];

有一个说:

NSDictionary * dict = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error];
于 2013-10-10T12:54:43.353 回答