MVC JsonResult camelCase serializacja [duplikat]

To pytanie ma już tutaj odpowiedź:

Właściwa serializacja JSON w MVC 4 3 odpowiedzi

Staram się, aby moja akcja zwróciła JsonResult, w której wszystkie jej właściwości znajdują się w CamelCase.

Mam prosty model:

public class MyModel
{
    public int SomeInteger { get; set; }

    public string SomeString { get; set; }
}

I prosta akcja kontrolera:

public JsonResult Index()
    {
        MyModel model = new MyModel();
        model.SomeInteger = 1;
        model.SomeString = "SomeString";

        return Json(model, JsonRequestBehavior.AllowGet);
    }

Wywołanie tej metody działania zwraca teraz wynik JsonResult zawierający następujące dane:

{"SomeInteger":1,"SomeString":"SomeString"}

Do moich zastosowań potrzebuję akcji zwracającej dane w CamelCase, jakoś tak:

{"someInteger":1,"someString":"SomeString"}

Czy jest jakiś elegancki sposób na to?

Szukałem możliwych rozwiązań i znalazłemMVC3 JSON Serialization: jak kontrolować nazwy właściwości? gdzie ustawiają definicje DataMember dla każdej właściwości modelu, ale tak naprawdę nie chcę tego robić.

Znalazłem również link, w którym mówią, że możliwe jest rozwiązanie dokładnie tego rodzaju problemu:http://www.asp.net/web-api/overview/formats-and-model-binding/json-and-xml-serialization#json_camelcasing. To mówi:

Aby zapisać nazwy właściwości JSON z obudową wielbłąda, bez zmiany modelu danych, ustaw CamelCasePropertyNamesContractResolver na serializatorze:

var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
json.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();

Jeden wpis na tym bloguhttp://frankapi.wordpress.com/2012/09/09/going-camelcase-in-asp-net-mvc-web-api/ wspomina również o tym rozwiązaniu i stwierdza, że ​​można go po prostu dodać doRouteConfig.RegisterRoutes naprawić ten problem. Próbowałem tego, ale nie mogłem tego zrobić.

Czy macie jakiś pomysł, gdzie robiłem coś złego?

questionAnswers(2)

yourAnswerToTheQuestion