Unity基礎_如何持久化存儲數(shù)據(jù)_Json_LitJson
JSON的基本數(shù)據(jù)類型:
數(shù)值:十進制數(shù),不能有前導0,可以為負數(shù),可以有小數(shù)部分。還可以用e或者E表示指數(shù)部分。不能包含非數(shù),如NaN。不區(qū)分整數(shù)與浮點數(shù)。JavaScript用雙精度浮點數(shù)表示所有數(shù)值。
字符串:以雙引號""括起來的零個或多個Unicode碼位。支持反斜杠開始的轉義字符序列。
布爾值:表示為true或者false。
數(shù)組:有序的零個或者多個值。每個值可以為任意類型。序列表使用方括號[,]括起來。元素之間用逗號,分割。形如:[value, value]
對象:若干無序的“鍵-值對”(key-value pairs),其中鍵只能是字符串[1]。建議但不強制要求對象中的鍵是獨一無二的。對象以花括號{開始,并以}結束。鍵-值對之間使用逗號分隔。鍵與值之間用冒號:分割。
空值:值寫為null
token(6種標點符號、字符串、數(shù)值、3種字面量)之間可以存在有限的空白符并被忽略。四個特定字符被認為是空白符:空格符、水平制表符、回車符、換行符??瞻追荒艹霈F(xiàn)在token內部(但空格符可以出現(xiàn)在字符串內部)。JSON標準不允許有字節(jié)序掩碼,不提供注釋的句法。 一個有效的JSON文檔的根節(jié)點必須是一個對象或一個數(shù)組。
JSON交換時必須編碼為UTF-8。[2]轉義序列可以為:“\\”、“\"”、“\/”、“\b”、“\f”、“\n”、“\r”、“\t”,或Unicode16進制轉義字符序列(\u后面跟隨4位16進制數(shù)字)。對于不在基本多文種平面上的碼位,必須用UTF-16代理對(surrogate pair)表示,例如對于Emoji字符——喜極而泣的表情(U+1F602 ?? face with tears of joy)在JSON中應表示為:
在GitHub 中搜索Litjson 找到https://github.com/LitJSON/litjson
下載該庫,找到litjson-0.18.0\litjson-0.18.0\src路徑下的LitJson文件夾到Unity中的Plugins文件夾中
引用命名空間:using LitJson;
LitJson比UnityJson好的地方在于,處理的數(shù)據(jù)內容不需要序列化
JsonMapper.ToJson("要轉化的數(shù)據(jù)")
轉化完成后存儲文件為
?writer.WriteObjectStart();? 結構開頭
writer.WritePropertyName("action");結構Key
?writer.WriteObjectEnd();結構結尾
?writer.WriteArrayStart();數(shù)組開頭
writer.WriteArrayEnd();數(shù)組結尾
示例代碼: