Моя проблема в том, что я хочу вернуть данные JSON camelCased (в отличие от стандартного PascalCase) через ActionResult из методов контроллера ASP.NET MVC, сериализованных JSON.NET .
В качестве примера рассмотрим следующий класс C #:
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
По умолчанию при возврате экземпляра этого класса из контроллера MVC в виде JSON он будет сериализован следующим образом:
{
"FirstName": "Joe",
"LastName": "Public"
}
Я хотел бы, чтобы он был сериализован (JSON.NET) как:
{
"firstName": "Joe",
"lastName": "Public"
}
Как мне это сделать?
asp.net-mvc
json
json.net
camelcasing
aknuds1
источник
источник
Controller
метода, вам, вероятно, следует использоватьApiController
, и в этом случае этот ответ прекрасно работает.application/json
нетtext/plain
.Я нашел отличное решение этой проблемы в блоге Матса Карлссона . Решением является написание подкласса ActionResult, который сериализует данные через JSON.NET, настраивая последний в соответствии с соглашением camelCase:
Затем используйте этот класс следующим образом в вашем методе контроллера MVC:
источник
Для WebAPI , проверьте эту ссылку: http://odetocode.com/blogs/scott/archive/2013/03/25/asp-net-webapi-tip-3-camelcasing-json.aspx
В основном, добавьте этот код в ваш
Application_Start
:источник
Я думаю, что это простой ответ, который вы ищете. Это из блога Шона Вильдермута :
источник
Альтернативой пользовательскому фильтру является создание метода расширения для сериализации любого объекта в JSON.
Затем вызовите его при возврате из действия контроллера.
источник
Проще лучше ИМО!
Почему бы тебе не сделать это?
Простой контроллер базового класса
источник
В ASP.NET Core MVC.
источник
Ниже приведен метод действия, который возвращает строку json (cameCase) путем сериализации массива объектов.
Обратите внимание, что экземпляр JsonSerializerSettings передается как второй параметр. Вот что делает CamelCase случиться.
источник
Я сделал это так:
это простой метод расширения в ядре MVC, он даст возможность ToJson () каждому объекту в вашем проекте. По моему мнению, в проекте MVC большинство объектов должны иметь возможность стать json, конечно, это зависит от :)
источник
Вы должны установить настройки в файле «Startup.cs»
Вы также должны определить его в значениях по умолчанию JsonConvert, это если вы позже захотите напрямую использовать библиотеку для сериализации объекта.
источник
Если вы возвращаете ActionResult в .net core web api или в результате IHttpAction, то вы можете просто обернуть вашу модель в метод Ok (), который будет соответствовать регистру на вашем внешнем интерфейсе, и сериализовать его для вас. Нет необходимости использовать JsonConvert. :)
источник