2015-01-27 5 views
2

У меня есть этот сотрудник DTOДобавить свойство ко всем объектам массива JSon

Class Employee 
{ 
    int Id {get; set;} 
    string Name {get; set;} 
} 

В моем коде я получаю коллекцию Работника объектов & сериализацию, как показано ниже

string JsonString = JsonConvert.SerializeObject(employees); // where employees is IEnumerable<Employee> 

JsonString что я получаю здесь

[{"Id":1,"Name":"John"}, 
{"Id":2,"Name":"Mark"}, 
{"Id":3,"Name":"Pete"}] 

Теперь я хочу добавить еще одно свойство для всех этих объектов p возмущаются в JSon массиве

[{"Id":1,"Name":"John","Department":"Computer Science"}, 
{"Id":2,"Name":"Mark","Department":"Computer Science"}, 
{"Id":3,"Name":"Pete","Department":"Computer Science"}] 

Задача состоит в том, что я не хочу, чтобы добавить дополнительное свойство «Department» в существующий Работника DTO.

Пожалуйста, помогите.

ответ

4

Вы можете создать промежуточный anonymous type из ваших сотрудников и сериализации, что:

var extendedEmployees = employees.Select(employee => new 
         { 
          employee.Id, 
          employee.Name, 
          Department = "Computer Science", 
         } 

var json = JsonConvert.Serialize(extendedEmployees)