【问题标题】:Use of undeclared identifier 'CJSONDeserializer' ??? Xcode with json使用未声明的标识符“CJSONDeserializer”???带有 json 的 Xcode
【发布时间】:2013-10-18 04:53:59
【问题描述】:

我在这个在 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];
    }
}

【问题讨论】:

标签: objective-c json identifier


【解决方案1】:

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

#import "CJSONDeserializer.h"

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

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

上面写着:

NSDictionary * dict = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error];

【讨论】:

    猜你喜欢
    • 2014-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-09
    相关资源
    最近更新 更多