標籤: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
-
- NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
- NSString *documentsDirectory = [paths objectAtIndex:0];
- testDirectory = [documentsDirectory stringByAppendingPathComponent:@"data"];
- [fileManager createDirectoryAtPath:testDirectory withIntermediateDirectories:YES attributes:nil error:nil];
- letterllkPath = [testDirectory stringByAppendingPathComponent:@"letterllk.json"];
[plain] view plaincopy
- //開啟檔案,需要用到NSFileHandle
- NSFileHandle *letterHandle = [NSFileHandle fileHandleForWritingAtPath:letterllkPath];
JSONkit中支援以下幾種資料類型轉換:
- NSString
- NSArry
- NSDictionary
使用起來很簡單:
[plain] view plaincopy
- //未經處理資料
- NSString *str = ….;
- NSArry *arry = ….;
- NSDictionary *dic = …;
-
- //轉換成JSon字串,就是將未經處理資料打包
- NSString *strJson = [str JSONString];
- NSString *arryJson = [arry JSONString];
- NSString *dicJson = [dic JSONString];
-
- //或者直接轉換成NSData*
- NSData *strData = [str JSONData];
- NSData *arryData = [arry JSONData];
- NSData *dicData = [dic JSONData];
[plain] view plaincopy
- [letterHandle seekToEndOfFile];
- [letterHandle writeData:[strJson dataUsingEncoding:NSUTF8StringEncoding]];
- 或者
- [letterHandle writeData:strData];
3、讀json檔案
[plain] view plaincopy
- NSString *filePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"json"];
- NSString *jsonString = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
[plain] view plaincopy
- //根據json檔案,逐層解析
- NSError *error;
- id rawData = [jsonString objectFromJSONStringWithParseOptions:JKParseOptionNone error:&error];
-
- if ( error != nil ) {
- }
-
- if ( [rawData isKindOfClass:[NSDictionary class]] )
- {}
- else if ( [rawData isKindOfClass:[NSArray class]] ) {
- }
- else {
- }
4、總結
Json的編碼格式主要包括:
- []代表NSArry類
- {}代表一個對象,比如NSDictionary
- ,代表對象分隔字元
- :代表索引值對,或者可以理解為賦值=
JSONkit其實就是自動的幫你將未經處理資料加上這些符號,或者相反的,去除這些符號