当前位置: 首页 > 工具软件 > JSONKit > 使用案例 >

JSONKit解析

陈斌蔚
2023-12-01

#import "ViewController.h"

#import "JSONKit/JSONKit.h"

@interface ViewController ()<UITableViewDelegate,UITableViewdatasource>

{

    UITableView *table;

    NSDictionary *dic;

}

@end

#define  JSON_URL @"http://127.0.0.1/8C.json"

@implementation ViewController

- (void)viewDidLoad {

    [super viewDidLoad];

    table = [[UITableView alloc]initWithFrame:self.view.frame style:UITableViewStyleGrouped];

    table.delegate =self;

    table.dataSource =self;

    [self.view addSubview:table];

    [NSURLConnection sendAsynchronousRequest:[[NSURLRequest alloc]initWithURL:[NSURL URLWithString:JSON_URL]] queue:[[NSOperationQueue alloc]init] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {

            dic = [data objectFromJSONData];

            dispatch_async(dispatch_get_main_queue(), ^{

                [table reloadData];

            });

    }];

}

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{

    return dic.allKeys.count;

}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

    return [[dic objectForKey:[dic.allKeys objectAtIndex:section]]count];

}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@""];

    if (!cell) {

        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@""];

    }

    NSDictionary *_dictionary = [dic objectForKey:[dic.allKeys objectAtIndex:indexPath.row]];

    cell.textLabel.text = [_dictionary objectForKey:@"name"];

    cell.detailTextLabel.text = [_dictionary objectForKey:@"age"];

    return cell;

}

-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{

    return [dic.allKeys objectAtIndex:section];

}

@end


 类似资料: