Json.net反序列化包含列表的字符串

时间:2014-05-26 22:43:43

标签: c# json json.net

我有一个Web服务返回此输出。我试图反序列化C#和json.net

中的输出
[{"UserName":"domain\\user1","UserRoles":[{"RoleName":"admin"}]},{"UserName":"domain\\user2","UserRoles":[{"RoleName":"crsuser"}]},{"UserName":"domain\\user3","UserRoles":[{"RoleName":"admin"}]}]

我可以解析这个输出然后我可以把它放到JArray对象中并迭代它。 现在在每次迭代中,我想取字符串并将字符串干净化为此对象

public class User
{
    [JsonProperty(PropertyName="UserName")]
    public string UserName { get; set; }

    public List<Role> UserRoles { get; set; }
}

public class Role
{
    [JsonProperty(PropertyName="RoleName")]
    public string RoleName { get; set; }
}

我不知道如何处理列表。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

没关系我解决了这个问题。这是User对象的反序列化

        List<User> users = JsonConvert.DeserializeObject<List<User>>(rawData);
        foreach (User user in users)
        {
            Console.WriteLine(user.UserName);
            foreach (Role role in user.UserRoles)
            {
                Console.WriteLine(role.RoleName);
            }
        }