在 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