List <string>序列化为字符串,而不是json.net </string>的json数组

时间:2014-07-08 09:53:28

标签: arrays serialization json.net

我正在尝试序列化返回到角客户端的令牌中的角色列表。

c#中的代码是:

List<Claim> roles = oAuthIdentity.Claims.Where(c => c.Type == ClaimTypes.Role).ToList();
var serialRoles = Newtonsoft.Json.JsonConvert.SerializeObject(roles.Select(x => x.Value));
AuthenticationProperties properties = CreateProperties(user.UserName, serialRoles);

CreateProperties方法:

    public static AuthenticationProperties CreateProperties(string userName, string roles)
    {
        IDictionary<string, string> data = new Dictionary<string, string>
        {
            { "userName", userName },
            { "roles", roles }
        };
        return new AuthenticationProperties(data);
    }

我的问题是我正在尝试生成类似的内容:

{
....
"roles": ["Administrator","Sales"],
....
}

但是我收到角色而不是数组:

{
....
"roles":"[\"Administrator\",\"Sales\"]",
....
}

有什么想法吗? 此致

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。 我不确定这是不是正确答案。

它是通过客户端中的JSON.parse()解决的。然后字符串中的json格式正确。 此致