你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS學習筆記38——NSJSONSerialization使用

IOS學習筆記38——NSJSONSerialization使用

編輯:IOS開發綜合
  關於NSJSONSerialization,官方文檔中有如下介紹: You use the NSJSONSerialization class to convert JSON to Foundation objects and convert Foundation objects to JSON.   An object that may be converted to JSON must have the following properties:   The top level object is an NSArray or NSDictionary. All objects are instances of NSString, NSNumber, NSArray, NSDictionary, or NSNull. All dictionary keys are instances of NSString. Numbers are not NaN or infinity. 我們能利用NSJSONSerialization將JSON轉換成Foundation對象,也能將Foundation對象轉換成JSON,轉換成JSON的對象必須具有如下屬性: 頂層對象必須是NSArray或者NSDictionary 所有的對象必須是NSString、NSNumber、NSArray、NSDictionary、NSNull的實例 所有NSDictionary的key必須是NSString類型 數字對象不能是非數值或無窮   接下來看看如何使用,首先是如何生成JSON格式的數據: 我這裡選用項目中的代碼片段來進行簡要介紹,以下顯示了登陸請求JSON格式數據的生成 [cpp]  NSDictionary *registerDic = [NSDictionary dictionaryWithObjectsAndKeys:uuid,@"_id",userName,@"login_name",password,@"password", nil];       if ([NSJSONSerialization isValidJSONObject:registerDic]) {           NSError *error;           NSData *registerData = [NSJSONSerialization dataWithJSONObject:registerDic options:NSJSONWritingPrettyPrinted error:&error];           NSLog(@"Register JSON:%@",[[NSString alloc] initWithData:registerData encoding:NSUTF8StringEncoding]);       }     NSDictionary中的key就是json字符串中的key,object就是json字符串中的value,isValidJSONObject:方法是檢測Foundation對象能否合法轉換為JSON對象,dataWithJSONObject:options:error方法是將Foundation對象轉換為JSON對象,參數NSJSONWritingPrettyPrinted的意思是將生成的json數據格式化輸出,這樣可讀性高,不設置則輸出的json字符串就是一整行。   解析服務端返回的json格式數據: [cpp]   NSDictionary *resultJSON = [NSJSONSerialization JSONObjectWithData:resultData options:kNilOptions error:&error];     獲取返回字符串中key為status的value: [cpp]   NSString *status = [resultJSON objectForKey:@"status"];     以上就簡要的介紹了下NSJSONSerilazation的使用,不是很全面,以後有時間再深入詳解一下。
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved