我是iOS的新手,我已经在谷歌上搜索了这个,但我没有得到这方面的帮助。请帮我解决这个JSON解析以及如何在UICollectionView
中显示这些图像。
{
"wallpaper": [
{
"id": "31",
"category": "animal",
"title": "demo",
"images": {
"image_thumb": "http://192.168.1.7/ebook/uploaded_images/animal/demo/beach1377848613_thumb.jpg",
"image1": "http://192.168.1.7/ebook/uploaded_images/animal/demo/beach1377848613_4.jpg",
"image2": "http://192.168.1.7/ebook/uploaded_images/animal/demo/beach1377848613_5.jpg",
"image3": "http://192.168.1.7/ebook/uploaded_images/animal/demo/beach1377848613_ipad.jpg",
"image4": "http://192.168.1.7/ebook/uploaded_images/animal/demo/beach1377848613_android.jpg"
},
"hits": "0"
},
{
"id": "33",
"category": "abstract",
"title": "demo 2",
"images": {
"image_thumb": "http://192.168.1.7/ebook/uploaded_images/abstract/demo2/beach1378075849_thumb.jpg",
"image1": "http://192.168.1.7/ebook/uploaded_images/abstract/demo2/beach1378075849_4.jpg",
"image2": "http://192.168.1.7/ebook/uploaded_images/abstract/demo2/beautifulnaturewallpapersforbackgroundhdwallpaper1378075850_5.jpg",
"image3": "http://192.168.1.7/ebook/uploaded_images/abstract/demo2/DragonflyWallpaperRainForDekstopHD1378075850_ipad.jpg",
"image4": "http://192.168.1.7/ebook/uploaded_images/abstract/demo2/hdwallpapers1080pwallpapers1378075850_android.jpg"
},
"hits": "0"
},
}
}
答案 0 :(得分:1)
NSURL * url=[NSURL URLWithString:[NSString stringWithFormat:@"http://192.168.0.5/getappdata.php"]];
NSData * data=[NSData dataWithContentsOfURL:url];
NSError * error;
//Get json data in Dictionary
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingMutableContainers error: &error];
NSLog(@"%@",json);
尝试使用此代码进行json解析...
答案 1 :(得分:1)
希望这会有所帮助; - )
//Let's asume your json is loaded in this variable
NSString * myJsonString = @"";
//convert string to dict
NSData * data = [myJsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError * error;
NSDictionary * dict = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingMutableContainers error: &error];
//Load array wallpapers (array of dictionaries)
NSArray * myArray = [dict objectForKey:@"wallpaper"];
现在你必须使用所需的设计创建一个UITableViewCell(让我们称之为CustomCell),包括一个UIImageView来显示图像。
然后在TableView DataSource中:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [myArray count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"CustomCell";
CustomCell *cell = (CustomCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
UIViewController *temporaryController = [[UIViewController alloc] initWithNibName:@"CustomCell" bundle:nil];
cell = (CustomCell *)temporaryController.view;
}
NSDictionary * dict = [myArray objectAtIndex:i];
NSString * image_thumb_url = [[dict objectForKey:@"images"] objectForKey:@"image_thumb"];
//todo: download the image and display it into your cell here
return cell;
}