我正在处理一个由JSON驱动的项目,并且想要为SessionManager
对象提供一个动态权限列表。尽管我可以使用权限的键值对数组来工作,但我在思考是否可以去掉属性名称,让key成为Permission
的值,而value则是IsAllowed
的值。
public class SessionPermission
{
public string Permission { get; set; }
public bool IsAllowed { get; set; }
}
public class SessionManager
{
public string UserName { get; set; }
public string Password { get; set; }
public List<SessionPermission> Permissions { get; set; }
public void SetPermissions()
{
Permissions = new List<SessionPermission>
{
new SessionPermission {Permission = "CreateUsers", IsAllowed = false},
new SessionPermission {Permission = "EditUsers", IsAllowed = false},
new SessionPermission {Permission = "EditBlog", IsAllowed = true}
};
}
}
当我生成JSON时,它输出一个权限数组:
{
"Permission": "CreateUsers",
"IsAllowed": false
},
我想知道如何覆盖序列化,使其使用值而不是属性名称。
{
"CreateUsers": false
},