这个JSON解析我做错了什么? (IOS)

时间:2013-08-16 22:32:48

标签: ios json parsing

我想创建一个与API通信的应用程序,但我无法找到解析的错误。

以下是代码:

 NSJSONSerialization *jsonObject = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

NSLog(@" jsonObject: %@", jsonObject);

NSURL *img1 = [[NSURL alloc] initWithString:[jsonObject obj]];
NSURL *img2 = [[NSURL alloc] initWithString:[jsonObject valueForKey:@"img2"]];
NSURL *img3 = [[NSURL alloc] initWithString:[jsonObject valueForKey:@"img3"]];
NSData *data1 = [[NSData alloc] initWithContentsOfURL:img1];
NSData *data2 = [[NSData alloc] initWithContentsOfURL:img2];
NSData *data3 = [[NSData alloc] initWithContentsOfURL:img3];
UIImage *image1 = [[UIImage alloc] initWithData:data1];
UIImage *image2 = [[UIImage alloc] initWithData:data2];
UIImage *image3 = [[UIImage alloc] initWithData:data3];

这是树:

jsonObject: (
    {
    img1 = "http://www.kozpontiszalon.hu/images/ads/kupon_aug_3.png";
    img2 = "anotherlink";
    img3 = "anotherlink";
    }
)

感谢您帮助我!

1 个答案:

答案 0 :(得分:1)

你的第一行应该是:

NSArray *jsonObject = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

因为您的JSON数据是一个数组。

此数组包含一个包含图像网址的字典。

NSDictionary *urls = jsonObject[0];
NSURL *img1 = [[NSURL alloc] initWithString:urls[@"img1"]];