当前位置: 首页 > 面试题库 >

使用属性将枚举序列化为JSON.NET中的字符串

有骏奇
2023-03-14
问题内容

我想使用类似于JSON.NET的属性将枚举序列化为字符串 [JsonIgnore]

示例类:

enum Gender { Male, Female }
class ABC
{
    public Gender { get; set; }
}

如果我使用JSON.NET对此序列化:

var a = new ABC();
var str = JsonConvert.SerializeObject(a);

str设置为{Gender:0},我更喜欢{Gender:Male}


问题答案:

看一看[JsonConverter(typeof(StringEnumConverter))]。应该做你想做的。

编辑: http

:
//james.newtonking.com/projects/json/help/html/T_Newtonsoft_Json_Converters_StringEnumConverter.htm
提供了一些信息。



 类似资料:
  • 问题内容: 我正在使用JsonConvert.SerializeObject序列化模型对象。服务器希望所有字段都为字符串。我的模型对象具有数字属性和字符串属性。我无法将属性添加到模型对象。有没有一种方法可以将所有属性值序列化为字符串?我必须仅支持序列化,而不支持反序列化。 问题答案: 您甚至可以为数字类型提供自己的数字。我只是想这和它的作品- 它的快速和肮脏的,你几乎肯定希望把它扩大到支持其他数字

  • 本文向大家介绍Rust 将枚举序列化为字符串,包括了Rust 将枚举序列化为字符串的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 我的JSON如下所示: 我的课程如下所示: 如何反序列化到映射如和到

  • 我需要序列化/反序列化一个POJO包含一个特殊枚举(不是字符串的枚举)。我找到了很多字符串枚举的示例,但不是我的情况。 而不是: {“代码”:“20”,“消息”:“无效的URL参数值”,“说明”:“缺少应用程序标识符”} 编辑1 但我的结果是: 现在,我希望将改为

  • 问题内容: 我在MVC 4程序中使用Json.net。 我有一个阶级的对象。 我做了: 现在,我想添加一个额外的属性,如成。 我如何使用Json.net实现这一目标? 问题答案: 您有几种选择。 正如@Manvik所建议的那样,最简单的方法就是在类中添加另一个属性并在序列化之前设置其值。 如果您不想这样做,那么下一个最简单的方法是将您的对象加载到中,追加新属性值,然后从那里写出JSON。这是一个简

  • 问题内容: 我如何才能序列化一个特定的属性,但又防止其反序列化回POCO?是否可以使用属性装饰特定属性? 基本上,我正在寻找一个与ShouldSerialize *方法等效的反序列化方法。 我知道我可以编写一个自定义转换器,但是这样做似乎有点过头了。 编辑: 这里还有一些背景。这背后的原因是我的课看起来像: 我需要请求的属性,但是我不希望它反序列化并触发设置程序逻辑。 问题答案: 最简单的方法是将