0
我想解析我的JSON到一個NSDictionary。以下是我用於解析的方法。json是不正確解析objective-c
+ (NSDictionary *)executeGenkFetch:(NSString *)query
{
query = [NSString stringWithFormat:@"%@", query];
query = [query stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"[%@ %@] sent %@", NSStringFromClass([self class]), NSStringFromSelector(_cmd), query);
NSData *jsonData = [[NSString stringWithContentsOfURL:[NSURL URLWithString:query] encoding:NSUTF8StringEncoding error:nil] dataUsingEncoding:NSUTF8StringEncoding];
NSError *error = nil;
NSDictionary *results = jsonData ? [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers|NSJSONReadingMutableLeaves error:&error] : nil;
if (error) NSLog(@"[%@ %@] JSON error: %@", NSStringFromClass([self class]), NSStringFromSelector(_cmd), error.localizedDescription);
NSLog(@"[%@ %@] received %@", NSStringFromClass([self class]), NSStringFromSelector(_cmd), results);
return results;
}
這裏是我如何使用這個功能。
+(NSArray *)getCommentsWithParam:(NSString *)Param
{
NSString *request = [NSString stringWithFormat:@"https://graph.facebook.com/comments/?ids=%@",Param];
NSLog(@"request is %@",request);
NSString *vfk = [NSString stringWithFormat:@"%@.comments.data",Param];
return [[self executeGenkFetch:request] valueForKey:vfk];
}
問題是當我記錄從getCommentsWithParam返回的NSArray時,我總是得到NULL。但是當我看到從日誌
NSLog(@"[%@ %@] received %@", NSStringFromClass([self class]), NSStringFromSelector(_cmd), results);
我得到我想要的JSON。對出現問題的任何幫助?
Martin R,如果您想查看JSON數據,請點擊此處。 https://graph.facebook.com/comments/?ids=http://www.krcgenk.be//nl/nieuws/show/barda-en-vossen-twijfelachtig-voor-kv-kortrijk/1330 – Steaphann 2013-02-18 10:58:19
ValueForKeyPath是也沒有工作。但是,當我將NSDictionary結果記錄在executeGenkFetch中時。我得到正確的字典 – Steaphann 2013-02-18 10:59:04
嘗試像NSDictionary * result = [[[self executeGenkFetch:request] objectForKey:@「comments」] objectForKey:@「data」];然後對於(結果NSDictionary *詞典){/ /做一些評論信息} – 2013-02-18 11:02:11