ios5中apple增加了解析JSON的api——NSJSONSerialization。
ios5中apple增加了解析JSON的api——NSJSONSerialization。網(wǎng)上已經(jīng)有人做過(guò)測(cè)試,NSJSONSerialization在效率上完勝SBJSON、TouchJSON、YAJL、JSONKit、NextiveJson。詳情見(jiàn)這里。既然apple為我們提供了這么良好的工具,我們沒(méi)理由不用吧。
NSJSONSerialization提供了將JSON數(shù)據(jù)轉(zhuǎn)換為Foundation對(duì)象(一般都是NSDictionary和NSArray)和Foundation對(duì)象轉(zhuǎn)換為JSON數(shù)據(jù)(可以通過(guò)調(diào)用isValidJSONObject來(lái)判斷Foundation對(duì)象是否可以轉(zhuǎn)換為JSON數(shù)據(jù))。
下面提供一個(gè)從豆瓣電臺(tái)下載的json數(shù)據(jù)轉(zhuǎn)換的代碼
View Code #define kGlobalQueue dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0)
#define kDoubanUrl @"http://douban.fm/j/mine/playlist?type=n&h=&channel=0&from=mainsite&r=4941e23d79"
-(void) loadJsonData:(NSURL *)url
{dispatch_async(kGlobalQueue, ^{NSData *data = [NSData dataWithContentsOfURL:url];[self performSelectorOnMainThread:@selector(parseJsonData:) withObject:data waitUntilDone:NO];});
}
-(void) parseJsonData:(NSData *)data
{NSError *error;NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];if (json == nil) {NSLog(@"json parse failed \r\n");return;}NSArray *songArray = [json objectForKey:@"song"];NSLog(@"song collection: %@\r\n",songArray);_song = songArray;self.songIndex = 0;NSDictionary *song = [songArray objectAtIndex:0];NSLog(@"song info: %@\t\n",song);
}
?Foundation對(duì)象轉(zhuǎn)換為json數(shù)據(jù)
1 View Code 2 3 NSDictionary *song = [NSDictionary dictionaryWithObjectsAndKeys:@"i can fly",@"title",@"4012",@"length",@"Tom",@"Singer", nil]; 4 if ([NSJSONSerialization isValidJSONObject:song]) 5 { 6 NSError *error; 7 NSData *jsonData = [NSJSONSerialization dataWithJSONObject:song options:NSJSONWritingPrettyPrinted error:&error]; 8 NSString *json =[[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; 9 NSLog(@"json data:%@",json); 10 }
?
轉(zhuǎn)載于:https://www.cnblogs.com/KingQiangzi/p/3607186.html
總結(jié)
以上是生活随笔為你收集整理的ios5中apple增加了解析JSON的api——NSJSONSerialization。的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 洛谷 P5057 [CQOI2006]简
- 下一篇: Web Service 安全性解决方案(