IOS開發(fā)網(wǎng)絡基礎(chǔ)_json解析

這篇文章主要是:
1.原生加載Json
2.解析Json
3.重寫description方法

1.加載json

    //從web服務器直接加載數(shù)據(jù)
    NSString *str = @"http://localhost/02/";
    //提示NSData本身具有同步方法 但在開發(fā)中不要使用
    //在使用nsdata方法時蚁堤,無法制定超時時間际看, 如果服務器不正常 會影響用戶體驗
    //NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:str]];
    //1.建立NSURL
    NSURL *url = [NSURL URLWithString:str];
    //2.建立NSURLRequest
    NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:2.0f];
    //3.利用nsurlconnection同步方法加載數(shù)據(jù)
    NSURLResponse *response = nil;
    NSError *error = nil;
    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
    //錯誤處理
    if(data != nil){
        //result僅用跟蹤調(diào)試使用
//        NSString *result = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
        //json數(shù)據(jù)處理
        [self handlerJsonData:data];
    }else if (data == nil && error != nil){
        NSLog(@"空數(shù)據(jù)");
    }else{
        NSLog(@"%@",error.localizedDescription);
    }

2.處理json數(shù)據(jù)([self handlerJsonData:data];)

    //json文件中的[]表示的是一個數(shù)組
    //1.反序列化json數(shù)據(jù)
    /*
     序列化:  將NSObject轉(zhuǎn)換成序列數(shù)據(jù)渡讼,以便可以通過互聯(lián)網(wǎng)進行傳輸
     反序列化: 將網(wǎng)絡上獲取的數(shù)據(jù) 反向生成為對象
     */
    NSArray *array = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
    //提示 如果開發(fā)網(wǎng)絡應用赏殃,可以講反序列化出來的對象须肆,保存至沙箱 以便后續(xù)開發(fā)使用
    NSArray *docs = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *path = [docs[0] stringByAppendingPathComponent:@"json.plist"];
    NSLog(@"%@",path);
    [array writeToFile:path atomically:YES];
    
    //給列表賦值
    NSMutableArray *arrayM = [NSMutableArray array];
    for (NSDictionary *dict in array) {
        Video *video = [[Video alloc]init];
        //給video賦值
        [video setValuesForKeysWithDictionary:dict];
        [arrayM addObject:video];
    }
    self.dataList = arrayM;
    [self.tableView reloadData];
    NSLog(@"%@",arrayM);

注意:返回的json數(shù)據(jù)中最外邊是[{},{},{},---- ],這樣序列化之后是數(shù)組
{{}煎源,{}稳衬,{}-----}這樣的序列化之后是字典

**json數(shù)據(jù)保存到沙箱**
    //提示 如果開發(fā)網(wǎng)絡應用羹铅,可以講反序列化出來的對象蚀狰,保存至沙箱 以便后續(xù)開發(fā)使用
    NSArray *docs = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *path = [docs[0] stringByAppendingPathComponent:@"json.plist"];
    NSLog(@"%@",path);
    [array writeToFile:path atomically:YES];

3.重寫類的description方法

重寫description方法可以顯示類的詳細信息

- (NSString *)description
{
    return [NSString stringWithFormat:@"<Video: %p,videoId:%ld,name %@"
            " ,length:%ld ,videourl :%@,imagURl:%@,desc:%@,"
            "teacher:%@>",self,(long)self.videoId,self.name,self.length,self.videoURL,self.imageURL,self.desc,self.teacher];
}

一起學習,一起進步职员,講不出再見.........很好聽麻蹋!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市焊切,隨后出現(xiàn)的幾起案子扮授,更是在濱河造成了極大的恐慌,老刑警劉巖专肪,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件刹勃,死亡現(xiàn)場離奇詭異,居然都是意外死亡嚎尤,警方通過查閱死者的電腦和手機荔仁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來芽死,“玉大人乏梁,你說我怎么就攤上這事∈毡迹” “怎么了掌呜?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長坪哄。 經(jīng)常有香客問我质蕉,道長,這世上最難降的妖魔是什么翩肌? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任模暗,我火速辦了婚禮,結(jié)果婚禮上念祭,老公的妹妹穿的比我還像新娘兑宇。我一直安慰自己,他們只是感情好粱坤,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布隶糕。 她就那樣靜靜地躺著瓷产,像睡著了一般。 火紅的嫁衣襯著肌膚如雪枚驻。 梳的紋絲不亂的頭發(fā)上濒旦,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機與錄音再登,去河邊找鬼尔邓。 笑死,一個胖子當著我的面吹牛锉矢,可吹牛的內(nèi)容都是我干的梯嗽。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼沽损,長吁一口氣:“原來是場噩夢啊……” “哼灯节!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起缠俺,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤显晶,失蹤者是張志新(化名)和其女友劉穎贷岸,沒想到半個月后壹士,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡偿警,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年躏救,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片螟蒸。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡盒使,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出七嫌,到底是詐尸還是另有隱情少办,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布诵原,位于F島的核電站英妓,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏绍赛。R本人自食惡果不足惜蔓纠,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望吗蚌。 院中可真熱鬧腿倚,春花似錦、人聲如沸蚯妇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至硬贯,卻和暖如春乖杠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背澄成。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工胧洒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人墨状。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓卫漫,卻偏偏與公主長得像,于是被迫代替她去往敵國和親肾砂。 傳聞我的和親對象是個殘疾皇子列赎,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容