Quindi, ho un sacco di classi che ho bisogno di serializzare/deserializzare che anche capita di essere oggetti di dominio (almeno alcuni di essi), quindi li voglio a essere libero da qualsiasi attributo o meno a seconda di un certo struttura.Convertitori/mappatori fluidi con Json.NET?
ho guardato Convertitori personalizzati in Json.NET, ma hanno un aspetto molto 'antica' a me in termini di utilizzo e cosa no, dal momento che al giorno d'oggi sono generici e non è così difficile per implementare un interfaccia fluente. Quindi, prima di Vado giù per la strada di tipizzazione debole ecc ..
... quello che sto cercando (pseudo):
public class MyModel {
public int Id { get; set; }
public string Name { get; set; }
public SomeObj SomeObj { get; set; }
}
public class MyModelConverter : JsonConverter<MyModel> {
public JsonConverter() {
RuleFor(x => x.Id).Name("Identifier");
RuleFor(x => x.SomeObj).Name("Data")
.WithConverter(new SomeObjConverter());
RuleFor(x => x.Name).Ignore();
}
}
C'è qualcosa di simile in Json.NET? Mi manca qualcosa? (A proposito, non posso usare nomi diversi per le mie proprietà ecc. Poiché i modelli sono basati su specifiche di terze parti).
magari utilizzare 'AutoMapper' e versare l'oggetto dominio nella classe desiderata? Ha una sintassi * ver * vicino a ciò che stai cercando. – code4life
Metodi di estensione e rilascia il tuo plugin di potenziamento per shim JSON.NET! :-) – VulgarBinary
Potresti semplicemente creare un nuovo tipo anonimo e poi serializzarlo. '... new {Identifier = x.Id, ...}' –