溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS中怎么讀寫json文件

發布時間:2021-07-26 14:26:40 來源:億速云 閱讀:173 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關iOS中怎么讀寫json文件,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

一.獲取沙盒路徑

每個iOS應用都有自己專屬的應用沙盒,應用沙盒就是文件系統中的目錄。但是iOS系統會將每個應用的沙盒目錄與文件系統的其他部分隔離,應用必須待在自己的沙盒里,并只能訪問自己的沙盒。

Documents存放應用運行時生成的并且需要保留的數據,iCloud同步時會同步該目錄Library/Caches存放應用運行時生成的數據,iCloud同步時不會同步該目錄Library/Preferences/存放所有的偏好設置tmp/存放應用運行時的臨時數據

獲取文件路徑:

//兩種獲取應用沙盒路徑的不同方法NSString *documentPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];NSString *cachePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"];NSString *preferencesPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Preferences"];NSString *tmpPath = [NSHomeDirectory() stringByAppendingPathComponent:@"tmp"];//NSSearchPathForDirectoriesInDomains()返回的是一個數組,這是因為對于Mac OS可能會有多個目錄匹配某組指定的查詢條件,但是在iOS上只有一個匹配的目錄NSString *documentPath2 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).lastObject;NSString *cachePath2 = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).lastObject;NSString *tmpPath2 = NSTemporaryDirectory();

讀寫json文件

處理json數據主要是用了NSJSONSerialization這個類,這個類主要有下列三個API:

//傳入一個json數據,返回一個foundation對象+ (id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError * _Nullable *)error;

//傳入foundation對象,轉化為json數據+ (NSData *)dataWithJSONObject:(id)obj options:(NSJSONWritingOptions)opt error:(NSError * _Nullable *)error;

實例:

NSArray *array = @[@1, @2, @3]; NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:array,@"1",@"dongdong", @"name", nil]; //首先判斷能否轉化為一個json數據,如果能,接下來先把foundation對象轉化為NSData類型,然后寫入文件 if ([NSJSONSerialization isValidJSONObject:dic]) { NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:1 error:nil]; [jsonData writeToFile:jsonPath atomically:YES]; } //在讀取的時候首先去文件中讀取為NSData類對象,然后通過NSJSONSerialization類將其轉化為foundation對象 NSData *jsonData = [[NSFileManager defaultManager] contentsAtPath:jsonPath]; NSArray *jsonDic = [NSJSONSerialization JSONObjectWithData:jsonData options:1 error:nil];

關于iOS中怎么讀寫json文件就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女