using UnityEngine; using Newtonsoft.Json; using System.IO; public static class JsonManager { /// <summary> /// 保存数据 PC端 /// </summary> /// <param name="data">需要存储的数据对象</param> /// <param name="fileName">存储为的文件名</param> /// <param name="type">存储方式,默认LitJson</param> public static void SaveData(object data, string fileName) { //存储路径 string path = Application.streamingAssetsPath + "/" + fileName + ".json"; //序列化 得到json字符串 string json = ""; json = JsonConvert.SerializeObject(data); //把json字符串保存成文件 File.WriteAllText(path, json); } /// <summary> /// 读取数据 PC端 /// </summary> /// <typeparam name="T">类型</typeparam> /// <param name="path"></param> /// <returns></returns> public static T LoadData<T>(string fileName) where T : new() { //路径 string path = Application.streamingAssetsPath + "/" + fileName + ".json"; if (!File.Exists(path)) { path = Application.persistentDataPath + "/" + fileName + ".json"; } if (!File.Exists(path)) { return new T(); } //获取json字符串 string jsonStr = File.ReadAllText(path); // T data = new T(); //反序列 data = JsonConvert.DeserializeObject<T>(jsonStr); return data; } }