0

th.json

{"lessons":[{"id":"38","fach":"D"},{"id":"39","fach":"M"}]}

视图控制器.m

NSBundle *bundle = [NSBundle bundleForClass:[self class]];
NSString *JsonData = [bundle pathForResource:@"th" ofType:@"json"];

SBJsonParser *parser = [[SBJsonParser alloc] init] ;

NSDictionary *jsonObject = [parser objectWithString:JsonData error:NULL];

NSArray *list = [jsonObject objectForKey:@"lessons"];

NSLog(@"%@", list);

输出 NSLog 列表返回

(null)

我的应用程序在我的项目内部使用 json 文件。和我的项目文件夹中的“th.json”。但是 NSArray *list 无法在 Json 文件中显示数据。

4

2 回答 2

1

您需要将文件的内容提供给 SBJsonParser。您的代码只是将文件的路径提供给解析器。试试这个:

NSBundle *bundle = [NSBundle bundleForClass:[self class]];
NSString *path = [bundle pathForResource:@"th" ofType:@"json"];
NSLog(@"Path: %@", path);

NSData *jsonData = [NSData dataWithContentsOfFile:path];
NSLog(@"Data: %@", jsonData);

SBJsonParser *parser = [[SBJsonParser alloc] init] ;

NSDictionary *jsonObject = [parser objectWithData:jsonData];
NSLog(@"%@", jsonObject);

NSArray *list = [jsonObject objectForKey:@"lessons"];
NSLog(@"%@", list);
于 2012-12-27T16:23:42.433 回答
0
for (NSDictionary *dataDict in myitems) {
        NSString *itemName = [dataDict objectForKey:@"itemName"];
        NSLog(@"itemName = %@",itemName);
    }    

插入字符串使其工作。

于 2012-12-19T04:47:57.340 回答