我感覺JSON解析的解析過程不重要,重要的是JSON解析之後對結果的處理
JSON解析後是個dictionary,但是字典中有可能包含字典和數組,數組中還可以包含字典。
新浪微博的請求微博返回的數據經過JSON解析結果就是這樣的。
下面就簡單介紹一下JSON解析過程
其實就一句話
"data就是解析數據"!!!!!!!!!!!!!!
//xcode自帶解析類NSJSONSerialization從data中解析出數據放到字典中
NSDictionary *weatherDic = [NSJSONSerialization JSONObjectWithData:Data options:NSJSONReadingMutableLeaves error:&error];
//這個是我們常用的json解析方式,相比於下面的解析方法更加簡單也更快捷.
//TouchJSON
//將解析得到的內容存放字典中
NSDictionary *pRootDic = [[CJSONDeserializer deserializer]deserialize:data error:&error];
//這裡的解析對象是NSData類型
//SBJSON
// 獲取一個解析器對象
SBJsonParser *parser = [[[SBJsonParser alloc] init]autorelease];
//獲取json串解析後返回的字典
NSDictionary *rootDic = [parser objectWithString:String error:&error];
//需要注意的是要先把解析的數據給解碼為NSString類型然後才可以解析
//JSONKit
//獲取解析後的字典(完成解析,返回值為字典類型)
NSDictionary *pWeatherDic = [jsonStr objectFromJSONStringWithParseOptions:JKParseOptionLooseUnicode];//統一編碼標准
//注意 jsonStr還是把數據先解碼為NSString型,之後jsonStr直接用解析方法就行了
//這裡附帶一個把data轉化為NSString類型的方法
NSString *string = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];