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

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top