iOS flickr搜索照片json返回nil

时间:2013-10-30 11:11:48

标签: ios json nsdictionary nsjsonserialization

所以我还在学习iOS和JSON。

所以我认为我已经理解了基础知识(显然是某些东西):也许是编码问题。

#define flickrGetURL [NSURL URLWithString:@"http://www.flickr.com/services/rest/?method=flickr.photos.search&tags=football&safe_search=1&per_page=20&format=json&api_key=YOURAPIREPLACESHERE"]

NSData* data = [NSData dataWithContentsOfURL:flickrGetURL];
NSError* error;
//this works
NSString *stringData = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"Response data being called : %@", stringData);

NSDictionary* json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];
if(json == nil)
{
    NSLog(@"NULL");
}else 
    NSLog(@" WORKED");

因此URL请求看起来很好,String打印出完整的JSON对象。 但是我创建的JSON对象是NILL,可能是编码问题。

是否与编码有关? (在非Twitter JSON页面上,这种方法有效)。

1 个答案:

答案 0 :(得分:2)

我不确定试试这个,

在您的代码中将网址格式更改为此格式并检查


[NSURL URLWithString:[NSString stringWithFormat:@"http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=%@&text=%@&per_page=20&format=json&nojsoncallback=1",kFlickrAPIKey,searchTerm]];


其中,searchTerm字符串是你在搜索什么