Json.net Nombres de parámetros del constructor `JsonConstructor`
Cuando se utiliza un .ctor específico a través deJsonConstructor
para deserializarIList<ISomeInterface>
propiedades, los nombres de los parámetros deben coincidir conoriginal Json nombres y elJsonProperty
no se usa el mapeo de esas propiedades.
SpokenLanguages
el parámetro siempre es nulo ya que no coincidespoken_languages
, pero hay unJsonProperty
mapearlo:
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; }
}
¿Es esto solo una "limitación" de cómoJson.Net
llama al constructor o hay algo que me falta.
FYI: estoy generando código a través de Rosyln y no estoy buscando generar unJsonConverter
para cada tipo para esto ...