如何覆盖 ASP.NET 返回的 JSON 中的名称

How do I override a name in JSON returned by ASP.NET

我在 ASP.NET Web API 2 应用程序中有以下代码:

[DataMember(Name = "override")]
public bool? _override;

但是我收到的 JSON 有一个名为 _override 的成员,而不是 override。如何更改 JSON 中的命名?

用你想输出的名字怎么样? public bool? @override;

您还可以在您的方法上使用 DataMember(Name="override) 属性,在您的 class 上使用 DataContract 属性,然后使用 DataContractJsonSerializer class 来也将其序列化。

有关如何使用 DataContractJsonSerializer 的完整示例,请参阅此 post:JavaScriptSerializer - how to deserialize a property with a dash ("-") in it's name?

As asp.Net web API 2 在内部使用 Json.NET json serialization/deserialization,

JsonProperty 属性可用于在序列化时覆盖 属性 名称。

所以 [JsonProperty(PropertyName = "override")] 应该可以解决问题。

谢谢。