2016-09-18 6 views
0

я выполнить запрос из LINQ, что дает мне список столбцов Вот запрос:Не может десериализации текущего массив JSON

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":"[email protected]"}] 

I» м, стремясь десериализовать эти данные в объект класса 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; } 
} 

Вот код десериализации

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

Все ли это происходит одним способом? Так вы сериализуете данные и впоследствии их десериализируете? – khlr

ответ

2

Избавьтесь от обертки. Вам предоставляется массив, а не объект, содержащий массив как свойство.

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

Должен ли он быть List ? как список типов UserGridDetails и результирующий список этого типа? – Zee

+0

@SyedAbbasZakirHussain Да, извините, должно быть. Я исправлю это – Rob

+0

Роб Вы - человек, здесь есть печенье !! – Zee