Пример - это то, что мне действительно нужно, против использования пользовательского JsonConstructor .actor .... Узнал что-то новое о Json.net, еще раз спасибо!
спользовании определенного .ctor черезJsonConstructor
для десериализацииIList<ISomeInterface>
свойства, имена параметров должны соответствоватьоригинал Json имена иJsonProperty
отображение этих свойств не используется.
SpokenLanguages
параметр всегда равен нулю, так как не совпадаетspoken_languages
, но естьJsonProperty
сопоставляя это:
public partial class AClass : ISomeBase
{
public AClass() { }
[JsonConstructor]
public AClass(IList<SysType> SysTypes, IList<ProductionCountry> production_countries, IList<SpokenLanguage> SpokenLanguages)
{
this.Genres = SysTypes?.ToList<IGenre>();
this.ProductionCountries = production_countries?.ToList<IProductionCountry>();
this.SpokenLanguages = SpokenLanguages?.ToList<ISpokenLanguage>();
}
public int Id { get; set; }
public IList<IGenre> Genres { get; set; }
[JsonProperty("production_countries")]
public IList<IProductionCountry> ProductionCountries { get; set; }
[JsonProperty("spoken_languages")]
public IList<ISpokenLanguage> SpokenLanguages { get; set; }
}
Это просто «ограничение» того, какJson.Net
вызывает конструктор или мне чего-то не хватает.
К вашему сведению: я создаю код все это через Rosyln и не смотрю на созданиеJsonConverter
для каждого типа для этого ...