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

时间:2015-04-23 20:54:41

标签: json asp.net-web-api datamember

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

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

但我收到的JSON的成员名为_override,而不是覆盖。如何更改JSON中的命名?

2 个答案:

答案 0 :(得分:4)

由于asp.Net web API 2在内部使用Json.NET进行json序列化/反序列化,

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

所以[JsonProperty(PropertyName = "override")]应该这样做。

感谢。

答案 1 :(得分:0)

如何使用您想要输出的名称? public bool? @override;

您还可以在方法上使用DataMember(Name="override)属性,在类上使用DataContract属性,然后使用DataContractJsonSerializer类对其进行序列化。

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