Я думаю, что буду оправдывать вывод JSON в Controller, поскольку JSON - это просто форма ViewData, такая же вещь, как использование словаря ViewData для взаимодействия со страницами View.
А фактическая страница просмотра уже обработана или обработана языками на стороне клиента. Хотя есть один недостаток, контроллер вывода JSON весьма зависит от представления, да, вы все равно можете изменить представление на другое, которое принимает этот JSON в качестве канала связи, но не очень хорошая идея, если вы хотите изменить клиента. например, настольному приложению, использующему другие каналы в качестве связи (например, прямое соединение TCP, приложение SOAP и т. д.), поскольку контроллер сделан для JSON. (правда, вы можете сделать адаптер для перевода).
Итак, чтобы завершить это, рендеринг JSON в контроллере в порядке, если вы не планируете использовать другую платформу, оставляя контроллер неизменным.