gpt4 book ai didi

.net - 枚举序列化 Json 与 XML

转载 作者:数据小太阳 更新时间:2023-10-29 01:39:00 26 4
gpt4 key购买 nike

我的项目中有以下枚举

public enum CameraAccessMethod
{
Manual = 0,
Panasonic = 1,
Axis = 2,
AirCam = 3
}

我有一个对象,根据不同的情况被序列化为 json 或 XML,并且对象的属性之一是 CameraAccessMethod 类型。我遇到的问题是,当此属性序列化为 XML 时,它将给出枚举值的字符串表示形式(Manual、Panasonic、Axis、Aircam),但在 JSON 中它被序列化为数字值 (0,1,2,3)。我怎样才能避免这种不一致?我也想要 JSON 序列化中的字符串。

最佳答案

从 Web API RC 开始,您可以通过在 Application_Start() 期间将 StringEnumConvert 应用于现有的 JsonMediaTypeFormatter 转换器集合来获取枚举的字符串表示形式:

var jsonFormatter = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
var enumConverter = new Newtonsoft.Json.Converters.StringEnumConverter();
jsonFormatter.SerializerSettings.Converters.Add(enumConverter);

关于.net - 枚举序列化 Json 与 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10664314/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com