国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > iOS > 正文

iOSJson解析

2019-11-09 14:48:20
字體:
供稿:網(wǎng)友

JSON

JSON簡介

現(xiàn)在很多服務(wù)器返回的數(shù)據(jù)格式都是JSON格式的數(shù)據(jù)。 JSON數(shù)據(jù)傳輸格式全稱javaScript Object Notation是基于Javascript的輕量級的數(shù)據(jù)交換格式

JSON值類型

JSON中數(shù)據(jù)類型 對應(yīng) OC中數(shù)據(jù)類型

數(shù)字(整數(shù)或浮點數(shù)) NSNumber字符串(在雙引號中) " "邏輯值(true 或 false) NSNumber數(shù)組(在方括號中) NSArray對象(字典 在花括號中) NSDictionarynull [NSNull null] 注意在判斷值是否為空時使用此種方式

JSON語法

JSON 語法是JavaScript對象表示語法的子集。鍵值對 鍵:值 :分開數(shù)據(jù)由逗號分隔 ,花括號表示對象(OC中的字典){}方括號表示數(shù)組 []

簡單的JSON例子

{"people" : [{"name":"張三", "age":"15"}, {"name":"李四", "age":"8"}, {"name":"王五", "age":"23"}, {"name":"小三", "age":"22"}]}

iOS中的JSON解析(OC)

NSJSONSerialization類

JSON轉(zhuǎn)字典

注意一下代碼中我的JSON數(shù)據(jù)是從文件中獲取的,一般來說我們都是從服務(wù)器中獲取的JSON數(shù)據(jù),LLJsonModel是根據(jù)返回的數(shù)據(jù)自定義的一個Model類。

// JSON解析 // 從文件中得到JSON數(shù)據(jù) NSString *filePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"json"]; // 讀取json數(shù)據(jù) NSData *jsonData = [NSData dataWithContentsOfFile:filePath]; // 查看得到的數(shù)據(jù) NSString *jsonStr = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; NSLog(@"jsonStr==%@", jsonStr); // NSJSONSerialization 解析 NSError *error = nil; NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error]; if (!error) { NSLog(@"dic====%@", dic); // 取錯誤信息 判斷一下 NSLog(@"error_msg==%@", dic[@"error_msg"]); NSArray *modelArr = dic[@"people"]; for (NSDictionary *dic in modelArr) { LLJsonModel *album = [LLJsonModel new]; [album setValuesForKeysWithDictionary:dic]; [self.jsonArray addObject:album]; } NSLog(@"jsonArray===%@", self.jsonArray); // 展示到UI上 } else { NSLog(@"error:%@", error); }

字典轉(zhuǎn)JSON

// 將對象轉(zhuǎn)化為JSON數(shù)據(jù),一般用來發(fā)送至服務(wù)端 // 判斷是否可以轉(zhuǎn)化為JSON數(shù)據(jù) BOOL isValidJSON = [NSJSONSerialization isValidJSONObject:dic]; NSLog(@"isValidJSON==%d", isValidJSON); // 將可以轉(zhuǎn)化為json數(shù)據(jù)的對象轉(zhuǎn)化為json數(shù)據(jù) NSData *data = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPRettyPrinted error:nil]; NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"string==%@", string);

解析注意事項

nil,Nil ,NSNull的區(qū)別:NULL C語言中的 表示空指針nil OC中的 空指針 一般用于對象的空Nil OC中的 空指針 一般用于類的空NSNull 空類 該類創(chuàng)建的對象為空對象 表示占位 對象中什么也沒有

JSON解析網(wǎng)站

在線校驗json格式 http://json.parser.online.fr http://www.json.cn


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 景泰县| 化州市| 襄城县| 平度市| 金华市| 阿鲁科尔沁旗| 喀喇沁旗| 蓝田县| 灵台县| 榕江县| 林州市| 六盘水市| 吉林省| 曲阳县| 平利县| 建瓯市| 桐庐县| 页游| 怀宁县| 武定县| 南昌市| 宁安市| 黑河市| 静海县| 牟定县| 靖远县| 安乡县| 楚雄市| 马关县| 高台县| 榆树市| 长阳| 乌兰察布市| 蕉岭县| 河西区| 德庆县| 灵璧县| 卓尼县| 鄂托克前旗| 阜阳市| 庆元县|