- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有以下枚举
public enum PermissionType
{
[JsonProperty(PropertyName = "can_fly")]
PermissionToFly,
[JsonProperty(PropertyName = "can_swim")]
PermissionToSwim
};
和一个具有这个属性的类
[JsonProperty(PropertyName = "permissions", ItemConverterType = typeof(StringEnumConverter))]
public IList<PermissionType> PermissionKeynames { get; set; }`
我想将枚举列表序列化为字符串列表,序列化列表使用 PropertyName
中指定的字符串(例如“can_swim”)而不是属性(property)的实际名称“PermissionToSwim”。但是,每当我调用 JsonConvert.SerializeObject 时,我都会得到
"permission_keynames":["PermissionToFly","PermissionToSwim"]
而不是我想要的
"permission_keynames":["can_fly","can_swim"]
我想在我的代码中保留短语“PermissionToSwim”,序列化为另一个词。知道我如何实现这一目标吗?我的直觉说注释是罪魁祸首,但我找不到正确的注释。
最佳答案
Looks like你可以使用 EnumMember
attribute 来完成这项工作(在 System.Runtime.Serialization 中找到)。
public enum PermissionType
{
[EnumMember(Value = "can_fly")]
PermissionToFly,
[EnumMember(Value = "can_swim")]
PermissionToSwim
}
如果您使用这些属性,您也不需要在列表的 JsonProperty
属性中设置 ItemConverterType
。
关于c# - 如何使用 json.net 将枚举序列化为不同的属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26391632/
出于好奇,我尝试了一些原型(prototype)制作,但似乎只允许在第一个位置使用子例程的原型(prototype) &。 当我写作时 sub test (&$$) { do_somethin
我需要开发一个类似于 Android Play 商店应用程序或类似 this app 的应用程序.我阅读了很多教程,发现几乎每个教程都有与 this one 类似的例子。 . 我已经开始使用我的应用程
考虑一个表示“事件之间的时间”的列: (5, 40, 3, 6, 0, 9, 0, 4, 5, 18, 2, 4, 3, 2) 我想将这些分组到 30 个桶中,但桶会重置。期望的结果: (0, 1,
我是一名优秀的程序员,十分优秀!