只是想知道如果我正确地做这个,这似乎是这么简单的东西有很多代码...JSON解析为GOOGLE API返回图片iPhone SDK
传递与我的钥匙来此功能的谷歌JSON请求使用ASIHTTPREQUEST
NSString *url4Google = [[NSString alloc] initWithFormat:@"https://www.googleapis.com/shopping/search/v1/public/products?key=(MY SECRET KEY)&country=GB&q=5035822086234"];
ASIHTTPRequest* request = [self requestWithURL:url4Google];
代码处理...
- (void)requestFinished:(ASIHTTPRequest*)request {
NSLog(@"GOOGLE SHOPPER IMAGE LOADING");
NSDictionary *result = [[request responseString] objectFromJSONString];
//GOOGLE SHOPPER IMAGE RETURN..
NSArray *Image = [[[[result objectForKey:@"items"] valueForKey:@"product"] valueForKey:@"images"] valueForKey:@"link"] ;
NSArray *Title = [[[result objectForKey:@"items"] valueForKey:@"product"] valueForKey:@"title"];
//NSLog(@"TITLE OF ITEM = %@", Title);
int size = [Image count];
NSLog(@"there are %d product images for this barcode ", size);
int titlez = [Title count];
NSLog(@"there are %d title names for this barcode ", titlez);
NSArray *imagearray = [Image objectAtIndex:3];
NSString *titleofitemis = [Title objectAtIndex:2];
//Choosing a number objectAtIndex...
NSMutableString * result1 = [[NSMutableString alloc] init];
for (NSObject * obj in imagearray)
{
[result1 appendString:[obj description]];
}
NSLog(@"FULL IMAGE URL IS = %@", result1);
//SET IMAGE
NSURL* _url = [[NSURL alloc] initWithString:result1];
self.url = _url;
[_url release];
[result1 release];
NSLog(@"url = %@", url);
UIImage* image = [ImageManager loadImage:url];
if (image) {
imageView.image = image;
}
//SET TITLE
self.title = titleofitemis;
NSLog(@"FULL TITLE NAME IS = %@", titleofitemis);
}
我使用SBJSON也对的ImageManager异步加载图像已经位于象后..
我已经做了一些内存管理的对我来说,是不是太在这个例子中的一个问题...
的NSLog输出
2011-09-28 16:29:17.351 IOSBoilerplate[17906:11c03] done pressed
2011-09-28 16:29:18.031 IOSBoilerplate[17906:11c03] GOOGLE SHOPPER IMAGE LOADING
2011-09-28 16:29:18.034 IOSBoilerplate[17906:11c03] there are 25 product images for this barcode
2011-09-28 16:29:18.035 IOSBoilerplate[17906:11c03] FULL URL FOR IMAGE = http://static.gam.co/media/films/00/000/0032/32467/image/30403.jpg
这是最快捷的方式&有这样做是正确的,我可以稍后做所有错误级别检测..
任何帮助,将不胜感激。
非常感谢您的时间和我的代码Mundi,我已经是一个一年半的ios开发人员,我一直使用大写字母,我认为它现在只是习惯的一部分! – CMM