Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
132 / 111 / 48
Регистрация: 08.02.2013
Сообщений: 621
1

При работе с Json вылетает ошибка null reference

08.07.2014, 19:42. Показов 1652. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть условие
C#
1
if (WallParser.response.items[next].attachments.Count == 1)
оно проверяет количество элементов в аттачах, но если аттачев нет, то выдает ошибку
Код
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
   в Antigate_Soft.Form1.DoEveryThing() в c:\Users\Игорь\Desktop\Antigate_CSharp\C# Antigate\Пример использования\Form1.cs:строка 253
Я понимаю, что нужно поставить перед этим еще одну проверку
C#
1
2
3
4
5
6
7
if(вот что тут написать, чтобы он проверял на null)
   {
       if (WallParser.response.items[next].attachments.Count == 1)
          ........
       else
          ........
   }
Добавлено через 3 часа 4 минуты
Ребят, ну подскажите, реально уже мозг платвится ))
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.07.2014, 19:42
Ответы с готовыми решениями:

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

Ошибка при работе с Orfeo ToolBox: undefined reference to `TIFFReadRGBAStrip@
undefined reference to `TIFFReadRGBAStrip@LIBTIFF_4.0'.............libossim.so.1 на всех форумах...

Вылетает ошибка при работе с функцией Copy
Здравствуйте, написала код, в котором нужно разбить строку на кусочки и эти кусочки занести в...

Ошибка при работе с JSON
база на локальном сервере, если переходить по URL в браузере все выводит...андроид - нет вот така...

3
Неадекват
1492 / 1230 / 246
Регистрация: 02.04.2010
Сообщений: 2,789
08.07.2014, 19:58 2
Лучший ответ Сообщение было отмечено Scrypto как решение

Решение

На сей момент элегантного решения нет. Ждем следующей версии шарпа где обещают оператор ?.

А пока придется предварительно проверять WallParser.response.items[next].attachments на null, прежде чем дергать Count
C#
1
2
3
4
5
var attach = WallParser.response.items[next].attachments;
if (attach != null)
{
    //code
}
1
132 / 111 / 48
Регистрация: 08.02.2013
Сообщений: 621
08.07.2014, 20:02  [ТС] 3
Вот класс json

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
   public class Photo
    {
        public string id { get; set; }
        public int album_id { get; set; }
        public string owner_id { get; set; }
        public string photo_75 { get; set; }
        public string photo_130 { get; set; }
        public string photo_604 { get; set; }
        public string photo_807 { get; set; }
        public string photo_1280 { get; set; }
        public int width { get; set; }
        public int height { get; set; }
        public string text { get; set; }
        public int date { get; set; }
        public string access_key { get; set; }
    }
 
    public class Attachment
    {
        public string type { get; set; }
        public Photo photo { get; set; }
    }
 
    public class Comments
    {
        public int count { get; set; }
    }
 
    public class Likes
    {
        public int count { get; set; }
    }
 
    public class Reposts
    {
        public int count { get; set; }
    }
 
    public class Item
    {
        public int id { get; set; }
        public int from_id { get; set; }
        public int owner_id { get; set; }
        public int date { get; set; }
        public string post_type { get; set; }
        public string text { get; set; }
        public List<Attachment> attachments { get; set; }
        public Comments comments { get; set; }
        public Likes likes { get; set; }
        public Reposts reposts { get; set; }
    }
 
    public class Response
    {
        public int count { get; set; }
        public List<Item> items { get; set; }
    }
 
    public class RootObject
    {
        public Response response { get; set; }
    }
Добавлено через 2 минуты
freeba, подскажи пожалуйста, как проверить, я уже на мучился не получается.
C#
1
2
3
4
5
6
  if (WallParser.response.items[next].attachments.Contains(null))
                {
                }
                else
                {
                }
так пробовал, все равно ошибка
0
Неадекват
1492 / 1230 / 246
Регистрация: 02.04.2010
Сообщений: 2,789
08.07.2014, 20:29 4
C#
1
2
3
4
5
6
if (WallParser.response.items[next].attachments!= null)
                {
                }
                else
                {
                }
1
08.07.2014, 20:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.07.2014, 20:29
Помогаю со студенческими работами здесь

Ошибка 503 при работе с JSON
Сразу скажу, что я программирую чисто в удовольствие и для себя, поэтому совсем любитель и прошу...

Постоянно вылетает ошибка при работе с INI файлами в Delphi 7
Не могу работать с INI файлами , постоянно вылетают ошибки , никаких синтаксических ошибок в коде...

При нажатии на кнопку выходит ошибка "Attempting to invoke method on a null object reference"
Доброго дня! Есть вот этот код. При нажатии на кнопку Add выдает Attempting to invoke interface...

Ошибка on a null object reference
Появляется ошибка java.lang.NullPointerException: Attempt to invoke virtual method...


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

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