上一期基本上讨论了Objc的JSON框架的原理,现在简单介绍一下使用。
在CS193P的课堂程序上,列出了以下函数:
+ (id)fetchJSONValueForURL:(NSURL *)url
{
NSString *jsonString = [[NSString alloc] initWithContentsOfURL:url
encoding:NSUTF8StringEncoding error:nil];
id jsonValue = [jsonString JSONValue];
[jsonString release];
return jsonValue;
}
基本上这个函数方法就是将一个传入的互联网地址,当然是一个.json文件的位置。然后传出的就是一个NSDictionary~
我在使用的时候,写了一个方法来调用它:
+ (NSDictionary *)fetchLibraryInformation
{
NSString *urlString = [NSString stringWithFormat:@"http://gzl.name/appData/MyFodian/Lib/main.json"];
NSURL *url = [NSURL URLWithString:urlString];
NSLog(@"fetching library data");
return [self fetchJSONValueForURL:url];
}
这个方法不过是将我存放json文件的地址告诉了前面的方法,然后返回这个NSDictionary,这回的返回值我用得NSDictionary,其实和id在这里没有区别。记得在使用这个对象的时候还要retain一下,否则一会儿就没有咯。因为JSONValue方法返回的应该是一个autorelease对象。
接下来我们就可以使用这个NSDictionary中的数据拉!