json文件:
{ "count":"3", "friend": [ { "name": "zhangsan", "pwd": "12345", "nickName": "zs", "sex": "nan" }, { "name": "lisi", "pwd": "12345", "nickName": "ls", "sex": "nv" }, { "name": "wangwu", "pwd": "12345", "nickName": "ww", "sex": "nan" } ]}
在json文件中,{}相當(dāng)于字典,[]相當(dāng)于數(shù)組,所以在對(duì)json數(shù)據(jù)進(jìn)行解析是,根據(jù)獲得的數(shù)據(jù)不同,創(chuàng)建不同的對(duì)象來(lái)接收
先將數(shù)據(jù)存入data中,使用系統(tǒng)方法NSJSONSerialization
//系統(tǒng)json解析, //1.要解析的數(shù)據(jù)對(duì)象. 2.解析的類型 NSMutableDictionary *datadic=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];//獲取鍵為"count"的值 NSString *count=[datadic objectForKey:@"count"]; NSLog(@"%@",count);//獲取信息數(shù)組 NSMutableArray *array=[datadic objectForKey:@"friend"];//遍歷輸出 for (int i=0; i<array.count; i++) { NSMutableDictionary *dic=array[i]; NSLog(@"%@",[dic objectForKey:@"name"]); NSLog(@"%@",[dic objectForKey:@"pwd"]); NSLog(@"%@",[dic objectForKey:@"nickName"]); NSLog(@"%@",[dic objectForKey:@"sex"]); }
options參數(shù)指定了解析JSON的模式,有3種格式可供選擇
NSJSONReadingMutableContainers。指定解析返回的是可變的數(shù)組或字典。如果以后需要修改結(jié)果, 圖靈社區(qū)會(huì)員 FAID 專享 尊重版權(quán)這個(gè)常量是合適的選擇。
NSJSONReadingMutableLeaves。指定葉節(jié)點(diǎn)是可變字符串。
NSJSONReadingAllowFragments。指定頂級(jí)節(jié)點(diǎn)可以不是數(shù)組或字典。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注