@v111tek

"Необработанное исключение: System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта" Как исправить?

Мой код, который отдает исключение:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

namespace Json
{
    internal class Program
    {


        static void Main(string[] args)
        {

            var sendCheck = new SendCheck() { };

            var request = new Request() 
            {
                CompanyId = 11111111,
                RequestId = 11111111111,
                UserLogin = "11111111",
                Sign = "11111111111",
                ignoreItemCodeCheck = true
            };

            sendCheck.Request.Add(request);

            var test = JsonConvert.SerializeObject(sendCheck);

            Console.WriteLine(test);

            Console.ReadKey();

        }
    }

    [JsonObject]
    public class SendCheck
    {
        [JsonProperty("Request")]
        public List<Request> Request { get; set; }

        [JsonProperty("Check")]
        public List<Check> Check { get; set; }
    }

    [JsonObject]
    public class Request
    {
        [JsonProperty("CompanyId")]
        public int CompanyId { get; set; }

        [JsonProperty("RequestId")]
        public int RequestId { get; set; }

        [JsonProperty("UserLogin")]
        public string UserLogin { get; set; }

        [JsonProperty("Sign")]
        public string Sign { get; set; }

        [JsonProperty("ignoreItemCodeCheck")]
        public bool ignoreItemCodeCheck { get; set; }
    }

Исключение отдает в этой строчке " sendCheck.Request.Add(request);"

Что я делаю не так?
  • Вопрос задан
  • 125 просмотров
Решения вопроса 1
У тебя свойство Request в классе SendCheck изначально имеет значение null.
Так что тебе нужно сначала создать экземпляр List и назначить его этому свойству.

Json не виноват (кстати, переходи на stj с ньтонсофта)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы