Frage

Ich habe eine Klassenbibliothek, die ich über ein JsonResult im ASP.NET MVC -Framework ausgeben muss. (JsonResult verwendet den JsonSerializer, um seine Ausgabe zu erzeugen.)

Ich habe durch das Lesen der Dokumentation entdeckt, dass wenn Sie einsetzen [ScriptIgnore] Auf einem öffentlichen Grundstück/auf einem Bereich wird es nicht serialisiert, ähnlich wie [XmlIgnore] Für den XML -Serializer.

Ich brauche die äquivalente Funktionalität von [XmlElement("elementname")], was absolut den Namen des Feldes/die Eigenschaft in der Ausgabeserialisierung festlegt. Ich habe ein Feld namens Elements Das muss auf ein Feld namens serialisiert werden elements.

Wie kann ich dies mit dem Standard -JsonSerializer erreichen?

Danke, David

War es hilfreich?

Lösung

Verwenden Sie die DataContractJsonSerializer Klasse?

Wenn ja ...

Fügen Sie Ihnen dieses Attribut hinzu Elements aufstellen

[DataMember(Name = "elements")] 

Dies Also Frage schlägt vor, wie Sie die Verwendung von JSOsScriptSerializer an JSondatacontractSerializer überschreiben.

Freundlichkeit,

Dan

Andere Tipps

Die unglückliche Antwort ist, dass Sie es nicht tun können. Trotzdem entwickle ich derzeit ein Modul, das jedes Objekt erweitert, indem ich zur Laufzeit ein anonymer Objekt erzeugt, das Regeln aus Attributen wie JSONIGNORE oder JSONPROPERTY befolgt. Ich werde mehr posten, wenn ich etwas habe.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top