Unity3D Не работает чтение из Json файла при указании пути через Application.streamingAssetsPath

Рейтинг: 0Ответов: 0Опубликовано: 12.03.2023

Не работает чтение из 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;
    }
}

Возможно ли это как то исправить?

Ответы

Ответов пока нет.