本地檔案的獲取和解析(json,plist)

2021-07-15 11:23:34 字數 1959 閱讀 7166

對於本地檔案的獲取我在這裡說一下我的理解,有不足之處希望大家可以提出批評。

1、獲取本地plist檔案

首先獲取本地檔案的路徑,其次判斷plist檔案的資料型別(主要有字典、陣列),如果是字典(陣列)那就建立乙個新的字典(陣列)用來儲存獲取到的資料,我個人認為這是比較簡單的,只需要知道plist檔案是儲存的是什麼資料型別就好。如圖儲存的是陣列檔案,陣列中儲存的是字典解析**如下:

具體**如下:

//---------------------1. 從plist檔案中讀取資料---------------------

//1) 獲取路徑

nsstring *filepath = [[nsbundle mainbundle] pathforresource:@"messages" oftype:@"plist"];

//2) 通過filepath獲取元素的值

nsarray *messagearray = [nsarray arraywithcontentsoffile:filepath];

(此處是陣列,字典和其它型別的獲取方式一樣)

//3) for-in語句載入資料 ----> 物件儲存

for (nsdictionary *dic in messagearray)

2、本地json檔案的獲取

在獲取本地json檔案之前,要學會分析json檔案,要知道json檔案儲存的是什麼資料型別,json檔案的分析是很重要的,如圖所示的json檔案(這裡擷取了一部分)

這個json檔案首先是乙個字典,在這個字典中它還包括字典、陣列,這個結構相對於plist檔案是複雜的,所以對json檔案的分析是很重要的

獲取及分析的主要**如下:

//獲取路徑(其中@"us_box"是json檔名)

nsstring *path = [[nsbundle mainbundle] pathforresource:@"us_box" oftype:@"json"];

//封裝成nsdata型別

nsdata *data = [[nsdata alloc] initwithcontentsoffile:path];

//解析為字典

nsdictionary *dic = [nsjsonserialization jsonobjectwithdata:data options:nsjsonreadingmutablecontainers error:nil];

//得到subjects這個鍵的value值

nsarray *subjects = [dic objectforkey:@"subjects"];

//初始化建立的陣列

_dataarray = [nsmutablearray array];

//遍歷獲取到的字典得到值

for (nsdictionary *subjectarray in subjects) {

//這裡我是使用了mvc模式利用的模型儲存獲取到的資料

moviemodel *model = [[moviemodel alloc] init];

model.rating = subjectsarray[@"rating"];

model.title = subjectsarray[@"title"];

model.images = subjectsarray[@"images"];

//將model物件儲存到陣列中

[self

.dataarray addobject:model];

我理解的內容大概就是這樣,如有錯誤敬請指出,希望大家可以互勉,共同進步。

XML SAX 解析本地檔案

第一步 把檔案拖入工程中。第二步 建立乙個與這個檔案對應的model模型,在.h中宣告對應的屬性,在.m中定義兩個方法。implementationstudent 防止kvc出錯 這是為不識別的key重寫的方法 void setvalue id value forundefinedkey nsstr...

XML DOM 解析本地檔案

1.獲取檔案路徑 nsbundle 獲取包 nsbundle bundle nsbundle mainbundle nsstring path bundle pathforresource studentinfo xml oftype txt 1kb 1024b 1mb 1024kb 1gb 102...

獲取上傳檔案的本地路徑

在cesium上顯示要匯入的航線區域,要匯入的格式是.kml,用到cesium中的cesium.kmldatasource.load 方法,方法引數如下 方法1 使用url 在引數data中需要傳入 url 目前在專案中使用的是el upload,獲取不到上傳檔案的本地路徑。後期找到方法使用file...