С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 12.04.2013
Сообщений: 21
1

Чтение файла с данными JSON дает null

21.08.2013, 23:53. Показов 3589. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет,

имеется файл с данными объекта в формате JSON, полученный в результате успешной сериализации, но десериализировать не получается, так как почему-то передается null.

Имеется такой метод загрузки файла
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        public async void LoadFromFile(string file)
        {
            StorageFolder storageFolder = ApplicationData.Current.LocalFolder;
            try
            {
                var data = await storageFolder.GetFileAsync(file);
                var read = await FileIO.ReadTextAsync(data);
                FileBuffer = read.ToString();
            }
            catch (FileNotFoundException)
            {
                FileBuffer = String.Empty;
            }
        }
Затем FileBuffer, содержащий строку JSON передается методу десериализации, сам файл существует, поэтому исключения нет
C#
1
2
3
4
5
if (FileBuffer != String.Empty)
                {
                    array = Deserialize<List<Person>>(FileBuffer);
 
                }
тут мы проверяем, если он не пустой (то есть файл прочитан успешно), то делаем десериализацию, но в отладке вижу, что значение FileBuffer = null, почему так происходит?

Добавлено через 42 минуты
"An exception of type 'System.ArgumentNullException' occurred in mscorlib.dll but was not handled in user code" - вот эта ошибка появляется при вызове десериализации

Добавлено через 2 минуты
Апдейт: поставил точку останова в функции загрузки, в FileBuffer успешно скопировалась строка из файла, но исключение вылетает

Добавлено через 14 минут
кажется, я понимаю, что происходит, если я постепенно пошагово выполняю приложение в отладке, то оно запускается, если же сразу запускаю, то вылетает исключение, видимо функция загрузки не успевает подгрузить файл, а метод десериализации уже выполняется, из-за это нулевой параметр получается, как это исправить?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.08.2013, 23:53
Ответы с готовыми решениями:

Чтение JSON-файла с помощью Newtonsoft.Json
И так, у нас есть JSon-файл вот такого типа: { &quot;objects&quot;: { ...

Чтение строки из файла дает неправильный вывод
Добрый день! Вопрос такой, код работает неправильно. Смысл такой: читаем строку. Если первый...

Чтение JSON файла
Здравствуйте, имеется следующий по структуре JSON файл: { &quot;results&quot;: Прочитал...

Чтение JSON файла
Здравствуйте! Только начал работать с json, нужна помощь знающих. Помогите пожалуйста с проблемой:...

1
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
22.08.2013, 08:35 2
Цитата Сообщение от Andev Посмотреть сообщение
кажется, я понимаю, что происходит, если я постепенно пошагово выполняю приложение в отладке, то оно запускается, если же сразу запускаю, то вылетает исключение, видимо функция загрузки не успевает подгрузить файл, а метод десериализации уже выполняется, из-за это нулевой параметр получается, как это исправить?
Именно, смотрите в сторону синхронизации потоков. Там куча способов.
0
22.08.2013, 08:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.08.2013, 08:35
Помогаю со студенческими работами здесь

Чтение json файла
Необходимо вывести содержимое json-файла на странице. Папка проекта лежит на компьютере initJson:...

Чтение JSON - файла
Помогите считать данные с json'а. Есть файл с таким вот содержимым: { &quot;URLS&quot;: } Нужно...

Json запись и чтение из файла
Товарищи, прошу помощи вот в каком деле. Необходимо мне несколько раз занести данные в файл в...

Чтение и запись JSON файла
Как прочитать и записать, точнее дописать в файл JSON данные? Файл лежит в assets (например,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru