Ich versuche, eine Liste von Objekten zu JSON mit Newtonsoft JsonConvert zu serialisieren. Meine Marker-Klasse enthält eine Enumeration und ich versuche, sie in eine camelCase-Zeichenfolge zu serialisieren. Basierend auf andere Fragen Stackoverflow, Ich versuche, die StringEnumConverter
zu verwenden:Wie kann ich Eigenschaften an einen StringEnumConverter in einem JsonConverterAttribute übergeben
public enum MarkerType
{
None = 0,
Bookmark = 1,
Highlight = 2
}
public class Marker
{
[JsonConverter(typeof(StringEnumConverter)]
public MarkerType MarkerType { get; set; }
}
Diese teilweise funktioniert, aber meine MarkerType String ist Pascal, wenn ich rufe:
var json = JsonConvert.SerializeObject(markers, Formatting.None);
Ergebnis:
{
...,
"MarkerType":"Bookmark"
}
Was ich wirklich suche ist:
Die StringEnumConverter docs Erwähnung eine CamelCaseText
Eigenschaft, aber ich bin mir nicht sicher, wie man das mit der JsonConverterAttribute
übergeben. Der folgende Code schlägt fehl:
[JsonConverter(typeof(StringEnumConverter), new object[] { "camelCaseText" }]
Wie gebe ich die CamelCaseText
Eigenschaft für die StringEnumConverter
in einem JsonConverterAttribute
?