作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我的项目中有以下枚举
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/
我是一名优秀的程序员,十分优秀!