IOS JSON數(shù)據(jù)解析

//獲取文件中的json數(shù)據(jù)
//JsonData 是文件名
//json 是文件后綴民
NSString *path=[[NSBundle mainBundle] pathForResource:@"JsonData" ofType:@"json"];
NSData *data=[[NSData alloc] initWithContentsOfFile:path];
//解析成字典
NSDictionary *dic=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

解析成對(duì)象放到數(shù)組中

if ([dic isKindOfClass:[NSDictionary class]]) {
    //開始解析數(shù)據(jù)
    _tableArray=[[NSMutableArray alloc]init];
    NSArray *programmersArray=[dic objectForKey:@"programmers"];
    //遍歷數(shù)組對(duì)象
    for (int i=0; i<programmersArray.count; i++) {
        NSDictionary *authorDic=[programmersArray objectAtIndex:i];
        NSString *firstName=[authorDic objectForKey:@"firstName"];
        NSString *lastName=[authorDic objectForKey:@"lastName"];
        NSString *email=[authorDic objectForKey:@"email"];
        Author *author=[[Author alloc]init];
        author.firstName=firstName;
        author.lastName=lastName;
        author.email=email;
        [_tableArray addObject:author];
    }
    NSArray *musiciansArray=[dic objectForKey:@"programmers"];
    //遍歷數(shù)組對(duì)象
    for (int i=0; i<musiciansArray.count; i++) {
        NSDictionary *authorDic=[musiciansArray objectAtIndex:i];
        NSString *firstName=[authorDic objectForKey:@"firstName"];
        NSString *lastName=[authorDic objectForKey:@"lastName"];
        NSString *email=[authorDic objectForKey:@"email"];
        Author *author=[[Author alloc]init];
        author.firstName=firstName;
        author.lastName=lastName;
        author.email=email;
        [_tableArray addObject:author];
    }
    
    
    //解析根數(shù)據(jù)
    NSArray *authorsArray=[dic objectForKey:@"authors"];
    //遍歷數(shù)組對(duì)象
    for (int i=0; i<authorsArray.count; i++) {
        NSDictionary *authorDic=[authorsArray objectAtIndex:i];
        NSString *firstName=[authorDic objectForKey:@"firstName"];
        NSString *lastName=[authorDic objectForKey:@"lastName"];
        NSString *email=[authorDic objectForKey:@"email"];
        Author *author=[[Author alloc]init];
        author.firstName=firstName;
        author.lastName=lastName;
        author.email=email;
        [_tableArray addObject:author];
    }
    
}

Author 對(duì)象頭文件

@interface Author : NSObject
@property (nonatomic,copy) NSString *firstName;
@property (nonatomic,copy) NSString *lastName;
@property (nonatomic,copy) NSString *email;
-(NSString *) getName;
@end

Author .m文件

@implementation Author
-(NSString *)getName{
return [NSString stringWithFormat:@"%@ %@",_lastName,_firstName];
}
@end

模版son
{"programmers": [
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" },
{ "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" },
{ "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" }
],
"authors": [
{ "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },
{ "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },
{ "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" }
],
"musicians": [
{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },
{ "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }
]
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ?2016年w3cschool全網(wǎng)技術(shù)教程離線下載 ?查看完整手冊(cè)《JavaScript中的json操作》 ?學(xué)技...
    4b13737bb150閱讀 9,783評(píng)論 1 1
  • json入門基礎(chǔ)教程 在異步應(yīng)用程序中發(fā)送和接收信息時(shí),可以選擇以純文本和XML作為數(shù)據(jù)格式。掌握Ajax的這一期...
    追逐黃昏的太陽(yáng)閱讀 691評(píng)論 0 1
  • 1.項(xiàng)目經(jīng)驗(yàn) 2.基礎(chǔ)問(wèn)題 3.指南認(rèn)識(shí) 4.解決思路 ios開發(fā)三大塊: 1.Oc基礎(chǔ) 2.CocoaTouch...
    扶光啟玄閱讀 5,204評(píng)論 0 13
  • 1、Objective-C的類可以多重繼承么?可以采用多個(gè)協(xié)議么?答:不可以多重繼承,可以采用多個(gè)協(xié)議。2、#im...
    亦晴工作室閱讀 673評(píng)論 0 3
  • 今天有閨蜜在工作上遇到小的問(wèn)題,我想就這個(gè)講講工作方向這件事。 【工作一年了,起初我一直覺(jué)得自己就只是能做好而已,...
    劉小腹閱讀 395評(píng)論 0 0

友情鏈接更多精彩內(nèi)容