0

我是 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"
        },
}
}
4

2 回答 2

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 数据源中:

- (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;

}
于 2013-09-03T07:55:41.880 回答
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 解析...

于 2013-09-03T07:11:22.783 回答