RobVious
RobVious

Reputation: 12925

Encoding JSON from MVC view with lowercase keys?

I have the following in my MVC view:

 $(document).ready(ko.applyBindings(new ProfileVm(@Html.Raw(Json.Encode(Model)))));

This is working great, except all of the keys from Model are being encoded with uppercase first letters. How can I invoke the camelCase resolver from the view? Or is there a way to tell Json.Encode to use lowercase resolution?

Upvotes: 3

Views: 2517

Answers (1)

Fals
Fals

Reputation: 6839

You should use Newsoft JSON for this:

@{ var json = JsonConvert.SerializeObject(
            Model, 
            Formatting.None, 
            new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }
   );

    $(document).ready(ko.applyBindings(new ProfileVm(@Html.Raw(Json.Encode(json)))));
}

Upvotes: 11

Related Questions