Unity3D Не работает чтение из Json файла при указании пути через Application.streamingAssetsPath
Не работает чтение из Json файла при указании пути через Application.streamingAssetsPath
private string path = Application.streamingAssetsPath + "/" + "EasyQuestions.json";
Но если указать путь к файлу таким образом:
private string path = @"D:\Никита\Desktop\Курсач\Basement Quizzes\Assets\StreaminAssets\EasyQuestions.json";
Данные из файла успешно считаются. Метод чтения:
public Qestions[] ReadJsonFile()
{
string jsonString = File.ReadAllText(@path);
Qestions[] questionsArray = JsonHelper.FromJson<Qestions>(jsonString);
return questionsArray;
}
Класс записанный в json файл:
[Serializable]
public class Qestions
{
public string question;
public string correctAnswer;
public string UnCorrectAnswer1;
public string UnCorrectAnswer2;
public string UnCorrectAnswer3;
}
Для чтения массива из json файла использую вспомогательный класс:
public static class JsonHelper {
public static T[] FromJson<T>(string json) {
Wrapper<T> wrapper = JsonUtility.FromJson<Wrapper<T>>(json);
return wrapper.Items;
}
public static string ToJson<T>(T[] array) {
Wrapper<T> wrapper = new Wrapper<T>();
wrapper.Items = array;
return JsonUtility.ToJson(wrapper);
}
public static string ToJson<T>(T[] array, bool prettyPrint) {
Wrapper<T> wrapper = new Wrapper<T>();
wrapper.Items = array;
return JsonUtility.ToJson(wrapper, prettyPrint);
}
public static string fixJson(string value) {
value = "{\"Items\":" + value + "}";
return value;
}
[Serializable]
private class Wrapper<T> {
public T[] Items;
}
}
Возможно ли это как то исправить?
Источник: Stack Overflow на русском