Ensuring json keys are lowercase in .NET(确保 .NET 中的 json 键是小写的)
问题描述
Is there simple way using JSON in .NET to ensure that the keys are sent as lower case?
At the moment I'm using the newtonsoft's Json.NET library and simply using
In this case auth
is just the following object
This results in
Is there a way to ensure that the username
and apitoken
keys come through as lowercase?
I don't want to simply run it through String.ToLower()
of course because the values for username
and apitoken
are mixed case.
I realise I can programatically do this and create the JSON string manually, but I need this for approx 20 or so JSON data strings and I'm seeing if I can save myself some time. I'm wondering if there are any already built libraries that allow you to enforce lowercase for key creation.
You can create a custom contract resolver for this. The following contract resolver will convert all keys to lowercase:
Usage:
Wil result in:
If you always want to serialize using the LowercaseContractResolver
, consider wrapping it in a class to avoid repeating yourself:
Which can be used like this:
ASP.NET MVC4 / WebAPI
If you are using ASP.NET MVC4 / WebAPI, you can use a CamelCasePropertyNamesContractResolver
from Newtonsoft.Json library which included by default.
这篇关于确保 .NET 中的 json 键是小写的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!