我有一些来自Claim
的{{1}},如下所示:
JwtSecurityToken
我需要获得价值{
"profile":{
"roles":{
"Rolename":{
"Type":27
}
}
}
}
(现在它是27)
Rolename它命名角色 - 它可以是不同的(并且可以有多个角色)
对我而言,它为角色命名并获得Type
我是怎么做到的:
Type
它运作良好,但我不知道如何取得角色名称以及当我有更多角色时如何成为
答案 0 :(得分:1)
If there is always one role you can do this:
JObject o = JObject.Parse(profile);
var role = ((JObject)o["roles"]).Properties().First();
string roleName = role.Name;
int cardType = (int)role.Value["Type"];
if there can be several roles you can loop through an array of JProperty
like this:
var roles = ((JObject)o["roles"]).Properties();
foreach (var role in roles)
{
string roleName = role.Name;
int cardType = (int)role.Value["Type"];
}
答案 1 :(得分:0)
复数形式的角色应该是一个数组。 然后,您可以按照循环的方式获取该数组中的所有值。 例如:
var roleTypes = new List<string>();
foreach (var role in profile.roles)
{
//populate a list
}