Имейте в виду, что в Javascript нет понятия класса, только объекты. Это также переносится в JSON. Посмотрите на это:
{"Employee" :
{
"EmployeeID":"1",
"FirstName":"Sridhar",
etc...
}
}
Если вы посмотрите на первую строку, символ «Сотрудник» абсолютно ничего не делает для JSON. Помните, что мы имеем дело только с объектами.
Вот почему это работает, как вы сказали.
[
{"EmployeeID":1,
"LastName":"Duggireddy",
"FirstName":"Sridhar",
"Title":"Programmer",
"TitleOfCourtesy":"Programmer",
"BirthDate":new Date(303091200000)}
]
Чтобы сделать это программно, объявите объекты вашего сотрудника и просто добавьте их в массив, например так:
var employees = [];
employees.push(employee1); // you would use a loop, of course
employees.push(employee2);
...
var jsonString = parser.toJSON(employees); // or whatever you use.
Это должно дать вам список объектов. Всегда игнорируйте класс в JSON ... .NET во время десериализации будет пытаться привести объект в этот конкретный класс. Проблемы возникают только в случае сбоя - возможно, из-за того, что переменная отсутствует или имеет неправильный тип.