Атрибут JSON. Net [JsonIgnore]
имеет использование , установленное на AttributeTargets.Property | AttributeTargets.Field
, что означает, что он может использоваться на const
. Однако новая версия * 10035 * Core API для [JsonIgnore]
установлена только на AttributeTargets.Property
. Это означает, что вы можете использовать его только для свойства .
Сказав, что JSON. Net не будет сериализовать значения const
, если вы явно не скажете его сериализации с помощью атрибут [JsonProperty]
, который затем добавляет другой атрибут, чтобы в любом случае игнорировать его.
Например, JSON. Net будет сериализовать класс, который есть в вашем вопрос как:
{"data":"foo"}
В то время как сериализатор в System.Text.Json
даст вам это:
{}
Так что еще одна проблема заключается в том, что более новый API не сериализует поля . Вывод из этого заключается в том, что вы должны использовать современные C# методы, а это означает использование свойств, например:
public string data { get; set; }