字典的序列化将部分键修改为小写
本文关键字:修改 序列化 字典 | 更新日期: 2023-09-27 18:15:59
关于。net中序列化的一个快速问题(对它来说还是很新的)。
我有一条返回Dictionary<string, ArbirartyModel[]>
的路由。问题在于结果。我把预期和实际放在下面。它似乎降低了所有字符,直到第一个下划线前一个字符,然后将其他所有字符留在下面。
{
TEST_ONE: "Value",
TEST_TOW: "Value"
}
实际{
tesT_ONE: "Value",
tesT_TOW: "Value"
}
我一直在寻找,似乎这个问题和其他一些是相关的,但是,不幸的是,我不能改变任何东西在Global.asax
任何帮助都将非常感激。
[HttpGet, Route("result/goes/here")]
public IHttpActionResult ReturnResult()
{
return Ok(new Dictionary<string, string>() {{"TEST_ONE", "Value"}, {"TEST_TOW", "Value"}});
}
Ok
是IHttpActionResult在Web API (https://msdn.microsoft.com/en-us/library/dn314591.aspx)的一部分
您有JSON。. NET配置为使用驼峰大小写序列化属性名。不幸的是JSON。在这方面,NET将把Dictionary类型视为与对象类型相同的类型,将每个键视为属性名。
错误的配置看起来像这样:
JsonConvert.SerializeObject(
<YOUR OBJECT>,
new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
});