我们想使用Newton.JSON将对象序列化为JSON,但是此对象使用枚举,然后在基础int中进行转换(请参见下面的JSON中的“数据类型”)。 如何获得“枚举字符串”表示形式?
{
"Timestamp": 1538568112852,
"Metrics": [{
"Name": "bdSeq",
"Timestamp": 1538568112852,
"Datatype": 4,
"IsNull": false,
"LongValue": 0
}],
"Seq": 18446744073709551615
}
答案 0 :(得分:0)
您可以用自己的标准JsonSerializer代替。
在startup.cs中:
services.AddScoped(typeof(JsonSerializer), typeof(EnumAsStringSerializer));
以及类本身:
public class EnumAsStringSerializer : JsonSerializer
{
public EnumAsStringSerializer()
{
this.ContractResolver = new CamelCasePropertyNamesContractResolver();
this.Converters.Add(new StringEnumConverter
{
CamelCaseText = true,
});
}
}