- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在实现 .NET Core 3.1 API,并且根据 this doc 使用 Microsoft.AspNetCore.Mvc.NewtonsoftJson .我们正在处理枚举,我们需要字符串表示而不是整数。我们正在使用 JsonConverter 属性来执行此操作,如下所示:
[JsonProperty("region")]
[JsonConverter(typeof(StringEnumConverter))]
public Region Region { get; set; }
我们正在尝试从如下所示的 Startup.cs 全局执行此操作:
services.AddControllers().AddNewtonsoftJson(opts => opts.SerializerSettings.Converters.Add(new StringEnumConverter()));
如果我们这样做,Cosmos DB 会提示
"PartitionKey extracted from document doesn't match the one specified in the header"
所以我们尝试删除除区域一以外的所有属性。所有其他不具有该属性的枚举都正确存储为字符串,但该区域仍然需要该属性才能工作。任何线索为什么会发生这种情况以及如何解决它?
最佳答案
在 netcore 3.1 或更高版本中,您可以使用 JsonStringEnumConverter:
var options = new JsonSerializerOptions
{
Converters = { new JsonStringEnumConverter() },
//other options
};
尝试 Example在线
关于json.net - StringEnumConverter 用作属性但不是全局的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62644161/
我们正在实现 .NET Core 3.1 API,并且根据 this doc 使用 Microsoft.AspNetCore.Mvc.NewtonsoftJson .我们正在处理枚举,我们需要字符串表
我正在尝试使用 Newtonsoft 的 JsonConvert 将对象列表序列化为 JSON。我的 Marker 类包含一个枚举,我正在尝试将其序列化为驼峰式字符串。基于其他 Stackoverfl
是否可以使用 Json.NET 生成一个模式,将枚举值输出为字符串而不是整数?我注意到有人 fork 了代码来执行此操作,但想知道是否有其他方法可以执行此操作,或者是否有任何计划执行此操作。 编辑 需
我有一个带有 POST 方法的简单 Controller 。 我的模型有一个枚举类型的属性。 当我发送有效值时,一切都按预期进行 { "MyProperty": "Option2"} 或 { "M
是否可以使用 Json.NET 生成一个将枚举值输出为字符串而不是整数的模式?我注意到有人 fork 了代码来执行此操作,但想知道是否有任何其他方法可以执行此操作,或者是否有任何计划执行此操作。 编辑
我正在尝试将 Json.NET 与 System.Net.Http.HttpClient 一起使用以发送具有枚举属性的对象,但是枚举始终序列化为整数值而不是等效字符串。 我已尝试按照此处的说明进行操作
我有一个枚举: public enum FilterOperator { [EnumMember(Value = "eq")] Equals,
我正在尝试按如下方式序列化一个匿名类: public enum ErrorCode { A, B, C } var response = JObject.FromObject(
我使用一个返回字符串值的 API,如下所示: some-enum-value 我尝试将这些值放在 enum 中,因为默认的 StringEnumConverter 没有做我想要的,即用一些额外的逻辑来
使用以下方法装饰您的枚举时: [JsonConverter(typeof(StringEnumConverter))] public EventEntity Entity { get; set; }
我有以下模型: public enum Status { [Display(Name = "Awaiting Approval")] AwaitingApproval, Rej
我想用 json.net 将枚举反序列化为它们的字符串表示形式,反之亦然。我能想出告诉框架应用其 StringEnumConverter 的唯一方法是像这样注释有问题的属性: [JsonConvert
我无法理解我在 Mac 上使用 Json.Net 时遇到的问题。我正在尝试序列化/反序列化对象,如下所示。 代码在 Windows 上运行没有问题,但在 Mac 上生成 Newtonsoft.Json
我是一名优秀的程序员,十分优秀!