evilsoull Ответов: 0

Каковы точные классы C#, которые соответствуют приведенному ниже json?


Below json and C# class does not match because there are two json objects named same "Event". I am getting null from the second "Event" object. I could not find the matched C# class. What am I doing wrong?


Это json
{
  "Sequence": 1802487,
  "BusinessDate": "2020-05-17T00:00:00.0000000",
  "Event": {
    "Event": {
      "@RegId": "2269"
	  }
  }
}


и это классы C#, которые я использую для десериализации

public class Root
{
    public long Sequence { get; set; }
    public DateTime BusinessDate { get; set; }

    [JsonProperty("Event")]
    public Event1 Event { get; set; }
}

[JsonObject("Event")]
public class Event1
{
    public Event Event { get; set; }
}

public class Event
{
    [JsonProperty("@RegId")]
    public string RegId { get; set; }
}


Что я уже пробовал:

Из-за наличия двух объектов json "Event" мне пришлось изменить одно из имен класса на "Event1". Но я получаю ноль для Регида

F-ES Sitecore

Ваш код прекрасно работает для меня, как вы его десериализуете?

evilsoull

Да, вы правы, я пытался десериализоваться с помощью Newtonsoft.JsonConvert и он работал нормально. Я работаю над RavenDB, и десериализация выполняется им автоматически. Поэтому я понял, что существует проблема с процессом десериализации RavenDB. Спасибо за вашу помощь.

0 Ответов