Я смотрю на какой-то старый код и вижу то, что не могу понять. Код представляет собой действие контроллера, которое возвращает динамический объект:
return new
{
Result = true,
Count = data.Count(),
Students = data.Select(s => string.Format("{0}, {1}", s.LastName, s.FirstName))
};
Однако полученный JSON в браузере не возвращается, как я ожидал:
{
"$id":"1",
"Result":true,
"Count":1,
"Students":
{
"$id":"2",
"$values":["USER, ACTIVE"]
}
}
То, что я ожидал, и то, что я обычно получаю в любое другое время, когда я делаю подобные вещи, больше похоже на это:
{
"Result":true,
"Count":1,
"Students":
{
["USER, ACTIVE"]
}
}
Понятия не имею, откуда берутся свойства $ id и $ values. Я не видел, чтобы это случилось раньше с .Net, поэтому я не уверен, что является причиной этого. Это не возврат динамического объекта, который вызывает проблему, потому что я переключил его на именованный тип просто для проверки, и он все еще делает то же самое.