Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Andev
0 / 0 / 0
Регистрация: 12.04.2013
Сообщений: 21
1

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

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

Всем привет,

имеется файл с данными объекта в формате 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2013, 23:53
Ответы с готовыми решениями:

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

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

Null reference при десерелизации JSON (Newtonsoft.Json)
Задача: достать из JSON ответа Название фирмы. Использую библиотеку...

Чтение и модификация существующего json файла
Добрых времени суток. Появилась прочитать и модифицировать json файлик (ранее...

Десериализация JSON дает пустой объект
Здравствуйте, пишу приложение для получения погоды. Данные получаю из сервиса...

1
n1l
135 / 137 / 18
Регистрация: 26.07.2010
Сообщений: 911
22.08.2013, 08:35 2
Цитата Сообщение от Andev Посмотреть сообщение
кажется, я понимаю, что происходит, если я постепенно пошагово выполняю приложение в отладке, то оно запускается, если же сразу запускаю, то вылетает исключение, видимо функция загрузки не успевает подгрузить файл, а метод десериализации уже выполняется, из-за это нулевой параметр получается, как это исправить?
Именно, смотрите в сторону синхронизации потоков. Там куча способов.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.08.2013, 08:35

При работе с Json вылетает ошибка null reference
Есть условие if (WallParser.response.items.attachments.Count == 1) оно...

Сериализация. заполнения класса данными из JSON
Здравствуйте, есть класс, данные сериализируются, using (FileStream f =...

Как заполнить список данными из json обьекта
От апи вк приходит ответ на мой запрос: {&quot;response&quot;:} Мне нужно заполнить...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru