枚举序列化为不带字符串引号的字符串

Enum serialization as string without string quotes

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

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

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

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

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

不可能,因为 json 将无效。您可以检查 json 在 https://jsonlint.com.

上的有效性

所有 JSON 转换库都遵循有效的 json 结构,您始终可以编写自己的 json 转换器来做到这一点,但我根本不推荐这样做。

这是不可能的(而且真的不推荐),因为它不符合 JSON 语法。

参见:[https://www.w3schools.com/js/js_json_syntax.asp][1]

在 JSON 中,值必须是以下数据类型之一:

一个字符串 一个号码 一个对象(JSON 对象) 数组 一个布尔值 空