Ich verwende Datensatztypen in einem F # -Projekt, das ich einem C# WebApi-Projekt aussetze. Zum Beispiel:F #, Json, WebApi Serialisierung von Optionstypen
type Account = {Amount:float; Number:int; Holder:string}
Basierend auf this Post und this Post wird die json serializaing richtig.
{"Amount":100.0,"Number":1,"Holder":"Homer"}
Allerdings, wenn ich in einem Optionstyp auf den Datensatz hinzufügen,
type Account = {Amount:float; Number:int; Holder:string option }
die json wird unglued.
{"Amount":100.0,"Number":1,"Holder":{"Case":"Some","Fields":["Homer"]}}
Ich mag die json das gleiche wie der nicht-Option Typen Datensatz suchen mit dem Serializer intelligent genug, um die Werte zu übernehmen und sie in/aus der Option automatisch eingeben.
Hat jemand zu diesem Zweck einen benutzerdefinierten Formatierer gebaut? Gibt es etwas, das ich vermisse?
Dank
Wie würde ich hinzufügen, dies die WebApiConfig in einem C# -Projekt? Gibt es eine Möglichkeit, dem DefaultContractResolver einen Konverter hinzuzufügen? –
NM -> hab es. formatter.SerializerSettings.Converters.Add (neuer IdiomaticDuConverter()); –