Dot-Net
枚舉序列化 Json 與 XML
我的項目中有以下枚舉
public enum CameraAccessMethod { Manual = 0, Panasonic = 1, Axis = 2, AirCam = 3 }我有一個對象,它根據不同的場景被序列化為 json 或 XML,並且對象的屬性之一是 type
CameraAccessMethod。我遇到的問題是,當這個屬性被序列化為 XML 時,它將給出枚舉值的字元串表示形式(Manual、Panasonic、Axis、Aircam),但在 JSON 中它被序列化為數值(0、1、2、3)。我怎樣才能避免這種不一致?我也想要 JSON 序列化中的字元串。
由於 Web API RC,您可以通過在以下期間將 a
StringEnumConvert應用於現有JsonMediaTypeFormatter轉換器集合來獲取枚舉的字元串表示形式Application_Start():var jsonFormatter = GlobalConfiguration.Configuration.Formatters.JsonFormatter; var enumConverter = new Newtonsoft.Json.Converters.StringEnumConverter(); jsonFormatter.SerializerSettings.Converters.Add(enumConverter);