首页 > 解决方案 > 枚举序列化为不带字符串引号的字符串

问题描述

我想将枚举序列化为字符串,JSON.NET但我希望Enum在没有字符串引号的情况下序列化值

    [JsonConverter(typeof(StringEnumConverter))]
    enum Gender { Male, Female }

    class Test
    {
        public Gender { get; set; }
    }

现在我得到的输出为{ "Gender": "Male" }

{ "Gender": Male }  //Male is without quotes

标签: c#serializationjsonconvert

解决方案


这是不可能的,因为该 json 将无效。您可以在https://jsonlint.com上检查有效 json 的外观。

所有 JSON Convert 库都遵循有效的 json 结构,您始终可以编写自己的 json 转换器来执行此操作,但我根本不建议这样做。


推荐阅读