using LitJson; using System.Collections; using System.Collections.Generic; using System.IO; using UnityEngine; /// /// 序列化和反序列化Json时 使用的是哪种方案 /// public enum JsonType { JsonUtlity, LitJson, } /// /// Json数据管理类 主要用于进行 Json的序列化存储到硬盘 和 反序列化从硬盘中读取到内存中 /// public class JsonMgr { private static JsonMgr instance = new JsonMgr(); public static JsonMgr Instance => instance; private JsonMgr() { } //Json数据 序列化 public string SaveData(object data, JsonType type = JsonType.LitJson) { //序列化 得到Json字符串 string jsonStr = ""; switch (type) { case JsonType.JsonUtlity: jsonStr = JsonUtility.ToJson(data); break; case JsonType.LitJson: jsonStr = JsonMapper.ToJson(data); break; } return jsonStr; } //Json数据 反序列化 public T LoadData(string jsonStr, JsonType type = JsonType.LitJson) { //数据对象 T data = default(T); switch (type) { case JsonType.JsonUtlity: data = JsonUtility.FromJson(jsonStr); break; case JsonType.LitJson: data = JsonMapper.ToObject(jsonStr); break; } return data; } }