public static T ReadDataFromJSON <T>(Constants.JSONIndex fileIndex) { string fileName; if (JsonFileList.TryGetValue(fileIndex, out fileName) == true) { string path = (Application.platform == RuntimePlatform.Switch || Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.IPhonePlayer ? Application.persistentDataPath : Application.dataPath) + fileName; if (!System.IO.File.Exists(path)) { string tempJsonString = JsonUtility.ToJson("{ }"); WriteDataToJSON(fileIndex, ref tempJsonString); } string jsonString = System.IO.File.ReadAllText(path); return(JsonUtility.FromJson <T>(jsonString)); } else { throw new System.Exception("There is no fileNumber in the list"); } }
public static void WriteDataToJSON <T>(Constants.JSONIndex fileIndex, ref T jsonData) { string fileName; if (JsonFileList.TryGetValue(fileIndex, out fileName) == true) { string jsonString = JsonUtility.ToJson(jsonData); string directory = (Application.platform == RuntimePlatform.Switch || Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.IPhonePlayer ? Application.persistentDataPath : Application.dataPath); string path = directory + fileName; if (!System.IO.Directory.Exists(directory)) { System.IO.Directory.CreateDirectory(directory); } string jsonFolder = '/' + fileName.Split('/')[1]; if (!System.IO.Directory.Exists(directory + jsonFolder)) { System.IO.Directory.CreateDirectory(directory + jsonFolder); } jsonFolder = '/' + fileName.Split('/')[1] + '/' + fileName.Split('/')[2]; if (!System.IO.Directory.Exists(directory + jsonFolder)) { System.IO.Directory.CreateDirectory(directory + jsonFolder); } if (!System.IO.File.Exists(path)) { System.IO.File.Create(path).Dispose(); } System.IO.File.WriteAllText(path, jsonString); } else { throw new System.Exception("There is no fileNumber in the list"); } }