iOS 如何用JSONKit讀寫JSON檔案

來源:互聯網
上載者:User

標籤:blog   class   c   tar   color   http   

 如何用JSONKit讀寫JSON檔案分類: ios2013-04-20 12:46 510人閱讀 評論(0) 收藏 舉報

JSON檔案格式簡單,使用方便,值得一用。

目前已經有多個庫支援Json檔案的解析,在這之中,JSONkit用起來方便,而且效率比較高,本文介紹的就是JSONKit的使用方法。

1、準備工作

下載JSONKit包:http://download.csdn.net/detail/enuola/4523160

2、寫json檔案

 

  • 建立檔案

//建立檔案目錄以及檔案,需要用到filemanager

[plain] view plaincopy
  1.       
  2. NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
  3. NSString *documentsDirectory = [paths objectAtIndex:0];  
  4. testDirectory = [documentsDirectory stringByAppendingPathComponent:@"data"];  
  5. [fileManager createDirectoryAtPath:testDirectory withIntermediateDirectories:YES attributes:nil error:nil];  
  6. letterllkPath = [testDirectory stringByAppendingPathComponent:@"letterllk.json"];  
  •       開啟檔案準備寫
[plain] view plaincopy
  1. //開啟檔案,需要用到NSFileHandle  
  2. NSFileHandle *letterHandle = [NSFileHandle fileHandleForWritingAtPath:letterllkPath];  
  • 將內容轉換為json資料
JSONkit中支援以下幾種資料類型轉換:
  • NSString
  • NSArry
  • NSDictionary
使用起來很簡單: [plain] view plaincopy
  1. //未經處理資料  
  2. NSString *str = ….;  
  3. NSArry *arry = ….;  
  4. NSDictionary *dic = …;  
  5.   
  6. //轉換成JSon字串,就是將未經處理資料打包  
  7. NSString  *strJson = [str JSONString];  
  8. NSString  *arryJson = [arry JSONString];  
  9. NSString  *dicJson = [dic JSONString];  
  10.   
  11. //或者直接轉換成NSData*  
  12. NSData *strData = [str JSONData];  
  13. NSData *arryData = [arry JSONData];  
  14. NSData *dicData = [dic JSONData];  
  • 將轉換後的json資料寫入文本
[plain] view plaincopy
  1. [letterHandle seekToEndOfFile];  
  2. [letterHandle writeData:[strJson dataUsingEncoding:NSUTF8StringEncoding]];  
  3. 或者  
  4. [letterHandle writeData:strData];  

 

3、讀json檔案

 

  • 讀取檔案內容
[plain] view plaincopy
  1. NSString *filePath   =  [[NSBundle mainBundle] pathForResource:@"test" ofType:@"json"];  
  2. NSString *jsonString  =   [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];  

  • 用json解析內容

 

[plain] view plaincopy
  1. //根據json檔案,逐層解析  
  2. NSError *error;  
  3. id rawData = [jsonString objectFromJSONStringWithParseOptions:JKParseOptionNone error:&error];  
  4.   
  5. if ( error != nil ) {  
  6. }  
  7.   
  8. if ( [rawData isKindOfClass:[NSDictionary class]] )   
  9. {}  
  10. else if ( [rawData isKindOfClass:[NSArray class]] ) {  
  11. }  
  12. else {  
  13. }  

 

4、總結

Json的編碼格式主要包括:

  • []代表NSArry類
  • {}代表一個對象,比如NSDictionary
  • ,代表對象分隔字元
  • :代表索引值對,或者可以理解為賦值=

 

JSONkit其實就是自動的幫你將未經處理資料加上這些符號,或者相反的,去除這些符號

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.