枚举序列化为不带字符串引号的字符串
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 对象)
数组
一个布尔值
空
我想使用 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 对象) 数组 一个布尔值 空