Rinomina campo in JsonSerializer
-
19-09-2019 - |
Domanda
Ho una libreria di classi che ho bisogno di uscita tramite un JsonResult nel quadro ASP.NET MVC. (JsonResult utilizza il JsonSerializer per produrre il suo output.)
ho scoperto attraverso la lettura della documentazione che se si mette [ScriptIgnore]
su una proprietà pubblica / campo, non sarà possibile ottenere serializzato, molto simile [XmlIgnore]
per il serializzatore XML.
Ho bisogno della funzionalità equivalente di [XmlElement("elementname")]
, che specifica assolutamente il nome del campo / proprietà nella serializzazione di uscita. Ho un campo chiamato Elements
che ha bisogno di ottenere serializzato a un campo denominato elements
.
Come posso fare questo usando il default JsonSerializer?
Grazie, David
Soluzione
Si sta utilizzando il DataContractJsonSerializer classe?
Se è così ...
Aggiungi questo attributo a voi Elements
campo
[DataMember(Name = "elements")]
domanda SO suggerisce come ignorare l'uso di JsonScriptSerializer a JsonDataContractSerializer.
La gentilezza,
Dan
Altri suggerimenti
La risposta è sfortunato, non si può fare. Detto questo, Attualmente sto sviluppando un modulo che si estenderà un qualsiasi oggetto con la produzione in fase di esecuzione di un oggetto anonimo che seguirà le regole da attributi, come JsonIgnore o JsonProperty. Vi posto più quando ho qualcosa.