我在ASP.NET Web API 2应用程序中有以下代码:
[DataMember(Name = "override")]
public bool? _override;
但我收到的JSON的成员名为_override,而不是覆盖。如何更改JSON中的命名?
答案 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?