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

首頁 > 系統 > iOS > 正文

iOSJson解析

2019-11-09 15:56:17
字體:
來源:轉載
供稿:網友

JSON

JSON簡介

現在很多服務器返回的數據格式都是JSON格式的數據。 JSON數據傳輸格式全稱javaScript Object Notation是基于Javascript的輕量級的數據交換格式

JSON值類型

JSON中數據類型 對應 OC中數據類型

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

JSON語法

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

簡單的JSON例子

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

iOS中的JSON解析(OC)

NSJSONSerialization類

JSON轉字典

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

// JSON解析 // 從文件中得到JSON數據 NSString *filePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"json"]; // 讀取json數據 NSData *jsonData = [NSData dataWithContentsOfFile:filePath]; // 查看得到的數據 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); }

字典轉JSON

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

解析注意事項

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

JSON解析網站

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乳山市| 旬阳县| 蓬溪县| 土默特右旗| 宜春市| 十堰市| 大同县| 龙川县| 平泉县| 晋城| 许昌县| 蒙城县| 鹤壁市| 揭阳市| 益阳市| 西乌珠穆沁旗| 百色市| 如东县| 大邑县| 莲花县| 清苑县| 蓝山县| 永靖县| 敖汉旗| 南陵县| 宁明县| 博罗县| 大关县| 石屏县| 鄄城县| 黑水县| 琼海市| 抚远县| 浑源县| 郸城县| 尉犁县| 乌审旗| 柳州市| 瓮安县| 长治市| 新竹县|