所以我还在学习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页面上,这种方法有效)。
答案 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字符串是你在搜索什么