当我从服务器以大写字母发送JSON时,客户端以驼峰形式接收它,我想完全撤消此转换。
我在startup.cs中添加了
services.AddMvc () .AdJsonOptions (options => {
options.SerializerSettings.ContractResolver = new DefaultNamingStrategy ();
});
但是它返回了一个错误:
Error CS0266 Can not implicitly convert type
'Newtonsoft.Json.Serialization.DefaultNamingStrategy' to
'Newtonsoft.Json.Serialization.IContractResolver'. An explicit conversion
exists
(are you missing a cast?)
是否可以完全按照数据库中的格式发送JSON?
非常感谢您的帮助
答案 0 :(得分:1)
使用DefaultContractResolver
,例如:
.AddJsonOptions(options =>
{
options.SerializerSettings.ContractResolver = new DefaultContractResolver();
})
您不能做您要求的事情:
是否可以完全按照数据库中的格式发送JSON?
不!因为您必须告诉序列化器该怎么做。
想象一下,您数据库中的列名会有所不同,例如CustomerName
(大写C)和clientName
(小写c)您的序列化程序应该做什么?
如果它“无能为力”,则必须编写自己的实现JsonConverter
的转换器。