0

我有一个文件:

{
    "MapName" : "This is map1";
}

我尝试阅读:

- (id)initFromFile:(NSString *)mapName
{
    self = [super init];
    if (self) {

        NSString* path = [[NSBundle mainBundle] pathForResource:mapName ofType:@"json"];
        NSData* jsonData = [NSData dataWithContentsOfFile:path];
        assert(jsonData);
        JSONDecoder* decoder = [[JSONDecoder alloc]
                                initWithParseOptions:JKParseOptionNone];
        assert(decoder);

        NSDictionary* json = (NSDictionary*)[decoder objectWithData:jsonData];

        assert(json);

        NSString* mapName = (NSString*)[json objectForKey:@"MapName"];

        assert(mapName);

        printf("MapName: %s\n", [mapName UTF8String]);
    }

    return self;
}

在断言(json)处失败;有什么明显的我做错了吗?

我知道文件读取正常,但解码传回 NULL。

谢谢

4

1 回答 1

0

使用逗号代替分号

{
    "MapName" : "This is map1",
}

在此处验证 jsonlint.com

于 2011-11-05T20:59:10.373 回答