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数组_C#_Json_Linq_Serialization_Json.net - Fatal编程技术网

C# 无法反序列化当前JSON数组

C# 无法反序列化当前JSON数组,c#,json,linq,serialization,json.net,C#,Json,Linq,Serialization,Json.net,我从linq执行一个查询,该查询提供列列表 问题是: var userList = context.Users.Where(x => x.UserFirstName.Contains(value.ToString()) && x.UserAccessLevel == (int)AuthUser.AuthUserUserType.Manager) .Select(x =>new UserGridDetails(){ Use

我从linq执行一个查询,该查询提供列列表 问题是:

var userList = context.Users.Where(x => x.UserFirstName.Contains(value.ToString()) && x.UserAccessLevel == (int)AuthUser.AuthUserUserType.Manager)
                        .Select(x =>new UserGridDetails(){ UserFirstName = x.UserFirstName, UserLastName = x.UserLastName, UserEmailAddress = x.UserEmailAddress})
                        .ToList();

                output = JsonConvert.SerializeObject(userList);
下面是来自查询的JSON数据

[{"UserFirstName":"Manager3","UserLastName":"ManagerLastName","UserEmailAddress":"manager3@test.com"}]
我试图将这些数据反序列化为一个C#class对象,该对象具有以下类

public class UserJsonWrapper
{
    public List<UserGridDetails> UserGridDetailses { get; set; }

}

public class UserGridDetails
{
    public string UserFirstName { get; set; }
    public string UserLastName { get; set; }
    public string UserEmailAddress { get; set; }
}
public类UserJsonWrapper
{
公共列表UserGridDetails{get;set;}
}
公共类UserGridDetails
{
公共字符串UserFirstName{get;set;}
公共字符串UserLastName{get;set;}
公共字符串UserEmailAddress{get;set;}
}
下面是反序列化代码

 UserJsonWrapper jsonToDataTable = JsonConvert.DeserializeObject<UserJsonWrapper>(value);
UserJsonWrapper-jsonToDataTable=JsonConvert.DeserializeObject(值);

去掉包装器。您得到的是一个数组,而不是一个包含数组作为属性的对象

var jsonToDataTable = JsonConvert.DeserializeObject<List<UserGridDetails>>(value);
var jsonToDataTable=JsonConvert.DeserializeObject(值);

去掉包装器。您得到的是一个数组,而不是一个包含数组作为属性的对象

var jsonToDataTable = JsonConvert.DeserializeObject<List<UserGridDetails>>(value);
var jsonToDataTable=JsonConvert.DeserializeObject(值);

不应该是列表吗?由于UserGridDetails类型的列表和结果列表属于该类型?@SyedAbbasZakirHussain是的,对不起,应该是。我会把它修好的不是吗?由于UserGridDetails类型的列表和结果列表属于该类型?@SyedAbbasZakirHussain是的,对不起,应该是。我会解决的这一切都是通过一种方法实现的吗?那么,您是在序列化数据并随后对其进行反序列化吗?这一切都发生在一个方法中吗?那么,您是在序列化数据并随后反序列化它吗?