简体   繁体   English

无法反序列化当前JSON数组

[英]Cannot deserialize the current JSON array

I execute a query from linq that gives me a list of columns Here's the query: 我从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);

Here's the JSON Data from the query 这是查询中的JSON数据

[{"UserFirstName":"Manager3","UserLastName":"ManagerLastName","UserEmailAddress":"manager3@test.com"}]

I'm trying to deserialize this data into a C# class object which has the following class 我正在尝试将此数据反序列化为具有以下类的C#类对象

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; }
}

Here's the deserialize code 这是反序列化代码

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

Get rid of the wrapper. 摆脱包装。 You're given an array, not an object containing an array as a property. 您得到的是数组,而不是包含数组作为属性的对象。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM