在 HTTP 响应中以小写形式返回的大写键值
Uppercase key value returned as lowercase in HTTP response
在后端(.net 核心)我正在制作字典:
密钥可以是 'TEST'、testAAAA'、'test'、'TEst' 所有可能的变体。
然而,这个特定结果返回为(图片来自邮递员):
如您所见,这里的关键是 'mo' 而不是 'MO' 。是否可以使其区分大小写?这样就不会变成小写了?
在我的 startup.cs class 我有:
opt =>
{
opt.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
opt.SerializerSettings.Converters.Add(new StringEnumConverter { CamelCaseText = true });
// opt.SerializerSettings.Converters.Add(new UnixDateTimeConverter());
opt.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
opt.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
});
opt.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
opt.SerializerSettings.Converters.Add(new StringEnumConverter { CamelCaseText = true });
您专门输入了一个解析器和一个转换器,告诉它要将外壳更新为 camelCase
- 传入和传出。
您需要更改您的设置以使其不这样做,或者您需要实施一个自定义解析器,该解析器根据 class.
执行不同的操作
您可以在 newtonsoft 文档中查看自定义解析器的一些示例 here。
在后端(.net 核心)我正在制作字典:
密钥可以是 'TEST'、testAAAA'、'test'、'TEst' 所有可能的变体。
然而,这个特定结果返回为(图片来自邮递员):
如您所见,这里的关键是 'mo' 而不是 'MO' 。是否可以使其区分大小写?这样就不会变成小写了?
在我的 startup.cs class 我有:
opt =>
{
opt.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
opt.SerializerSettings.Converters.Add(new StringEnumConverter { CamelCaseText = true });
// opt.SerializerSettings.Converters.Add(new UnixDateTimeConverter());
opt.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
opt.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
});
opt.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
opt.SerializerSettings.Converters.Add(new StringEnumConverter { CamelCaseText = true });
您专门输入了一个解析器和一个转换器,告诉它要将外壳更新为 camelCase
- 传入和传出。
您需要更改您的设置以使其不这样做,或者您需要实施一个自定义解析器,该解析器根据 class.
执行不同的操作您可以在 newtonsoft 文档中查看自定义解析器的一些示例 here。