Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Json.net反序列化包含列表的字符串_C#_Json_Json.net - Fatal编程技术网

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

C# Json.net反序列化包含列表的字符串,c#,json,json.net,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"}]}] 我可以解析这个输出,然

我有一个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; }
}
公共类用户
{
[JsonProperty(PropertyName=“UserName”)]
公共字符串用户名{get;set;}
公共列表用户角色{get;set;}
}
公共阶级角色
{
[JsonProperty(PropertyName=“RoleName”)]
公共字符串RoleName{get;set;}
}

我不知道如何处理这份清单。有什么想法吗?

我解决了这个问题。下面是用户对象的反序列化

        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);
            }
        }
List users=JsonConvert.DeserializeObject(rawData);
foreach(用户中的用户)
{
Console.WriteLine(user.UserName);
foreach(user.UserRoles中的角色)
{
Console.WriteLine(role.RoleName);
}
}

您试过什么吗?我看不出列表没有反序列化的原因。。你能给我们看看你的代码吗?我可以很容易地反序列化角色类。但我无法反序列化用户类,因为它包含数组。我在数组顶部没有任何属性(对于非数组属性,我有JsonProperty)…您能给我们展示一下您试图用来反序列化用户的代码吗?