Разница в том, что в первом случае вы не устанавливаете заголовок ответа Content-Type на application/json
, а во втором это делается.
В первом случае ответ представляет собой простой текст и выглядит следующим образом:
"SomeListHere"
И заголовок Content-Type
установлен на text/html
, что неверно, поскольку это не HTML.Это text/plain
.Это даже не допустимая строка JSON.
Во втором случае это строка JSON, которая выглядит следующим образом:
{"list":"SomeListHere"}
Также в первом примере кода вы выполняете сериализацию JSON вручную.который представляет собой программный код и не должен выполняться в контроллере; его следует выводить из внешнего интерфейса в пользовательском ActionResult, что именно то, что создатели инфраструктуры ASP.NET MVC предложили вам в лице JsonResult, который является вашим вторым примером кода.1015 *
Вывод: если вы хотите отправить JSON-сериализованное представление некоторой модели клиенту, всегда используйте второй подход.