我正在尝试使用Newtonsoft的JsonConvert将对象列表序列化为JSON。我的Marker类包括一个枚举,我正在尝试将其序列化为驼峰式字符串。基于其他Stackoverflow问题,我正在尝试使用StringEnumConverter
:
public enum MarkerType
{
None = 0,
Bookmark = 1,
Highlight = 2
}
public class Marker
{
[JsonConverter(typeof(StringEnumConverter)]
public MarkerType MarkerType { get; set; }
}
这个部分代码可以工作,但是当我调用时,我的 MarkerType 字符串是 PascalCase:
var json = JsonConvert.SerializeObject(markers, Formatting.None);
结果:
{
...,
"MarkerType":"Bookmark"
}
我真正需要的是:
{
...,
"MarkerType":"bookmark"
}
在StringEnumConverter文档中提到了CamelCaseText属性
,但我不确定如何使用JsonConverterAttribute
传递它。 下面的代码会失败:
[JsonConverter(typeof(StringEnumConverter), new object[] { "camelCaseText" }]
在JsonConverterAttribute
中如何指定StringEnumConverter
的CamelCaseText
属性?
allowIntegerValues
选项的构造函数。 - user3896255