Tôi muốn deserialize liệt kê để đại diện chuỗi của họ và ngược lại với json.net. Cách duy nhất tôi có thể tìm ra nói với khuôn khổ để áp dụng nó StringEnumConverter
là để chú thích các thuộc tính trong câu hỏi như thế này:Làm thế nào để yêu cầu Json.Net trên toàn cầu áp dụng StringEnumConverter cho tất cả các enums
[JsonConverter(typeof(StringEnumConverter))]
public virtual MyEnums MyEnum { get; set; }
Tuy nhiên, trong trường hợp sử dụng của tôi, nó sẽ được nhiều thuận tiện hơn để cấu hình json.net trên toàn cầu sao cho tất cả các liệt kê nhận được (de) được tuần tự hóa bằng cách sử dụng StringEnumConverter
, mà không cần thêm chú thích.
Có cách nào để làm như vậy, ví dụ: với sự giúp đỡ của tùy chỉnh JsonSerializerSettings
?
Tôi đã thử đặt cài đặt này trên global.asax.cs của mình trong 'GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings'but không hoạt động. Bất kỳ ý tưởng tại sao có thể? – amhed
Có cách nào để viết hoa tên trường không? Cờ CamelCaseText được mã hóa cứng vào lớp và tôi không thấy cách sử dụng một chiến lược vỏ khác. – mikebridge
@mikebridge Bạn đã tìm ra giải pháp cho điều này chưa? Ngoài ra tìm kiếm một cách để đặt tên cho mỗi tùy chọn enum bản thân mình (hoặc sử dụng chữ thường). – Timm