當前位置:成語大全網 - 漢語詞典 - 如何在本地讀取json文件並存儲在字典中?

如何在本地讀取json文件並存儲在字典中?

Unity將Json數據保存到本地文件(字典)。

首先,導入Json解析庫;

第二,開始編碼;

[csharp]查看純文本

//命名空間

使用系統。木衛壹;

使用系統。集合。泛型;

使用LitJson

[csharp]查看純文本

//相關變量聲明:

私有靜態字符串mFolderName

私有靜態字符串mFileName

私有靜態字典& ltstring,string & gtDic_Value =新字典& ltstring,string & gt();

私有靜態字符串文件名{

獲取{

返回路徑。Combine(FolderName,mFileName);

}

}

私有靜態字符串文件夾名{

獲取{

返回路徑。combine(application . persistent data path,mFolderName);

}

}

[csharp]查看純文本

//初始化方法如果需要,可以重載初始化方法。

public static void Init(string pFolderName,string pFileName) {

mFolderName = pFolderName

mFileName = pFileName

Dic _值。clear();

read();

}

[csharp]查看純文本

//讀取文件並將json數據加載到字典中。

私有靜態void Read() {

如果(!目錄。存在(文件夾名)){

目錄。create directory(FolderName);

}

如果(文件。存在(文件名)){

FileStream fs =新文件流(文件名,文件模式。打開);

StreamReader sr =新的StreamReader(fs);

JsonData值= JsonMapper。to object(Sr . ReadToEnd());

foreach(var鍵入值。鑰匙){

Dic _值。Add(key,values[key])。ToString());

}

如果(fs!= null) {

fs。close();

}

如果(sr!= null) {

Sr . Close();

}

}

}

[csharp]查看純文本

//將字典數據轉換成json並保存到本地文件。

私有靜態void Save() {

string values = JsonMapper。to JSON(Dic _ Value);

調試。日誌(值);

如果(!目錄。存在(文件夾名)){

目錄。create directory(FolderName);

}

FileStream file = new FileStream(文件名,文件模式。創建);

byte[] bts =系統。Text.Encoding.UTF8.GetBytes(值);

文件。寫(bts,0,bts。長度);

如果(文件!= null) {

文件。close();

}

}

至此,簡單的保存方法基本完成。

第三,用例子;

以讀寫字符串為例:

[csharp]查看純文本

//判斷鍵值當前是否存在。

公共靜態bool HasKey(string pKey) {

返回Dic_Value。contains key(pKey);

}

[csharp]查看純文本

//讀取字符串值

公共靜態字符串GetString(string pKey) {

if(HasKey(pKey)) {

返回Dic _ Value[pKey];

}否則{

返回字符串。空的;

}

}

[csharp]查看純文本

//保存字符串值

public static void SetString(string pKey,string pValue) {

if(HasKey(pKey)) {

DIC _ Value[pKey]= pValue;

}否則{

Dic _值。Add(pKey,pValue);

}

save();

}