我有一个类库,需要通过ASP.NET MVC框架中的JsonResult输出。 (JsonResult使用JsonSerializer产生其输出。)
我通过阅读文档发现,如果将[ScriptIgnore]
放在公共属性/字段上,它将不会被序列化,就像XML序列化器的[XmlIgnore]
。
我需要[XmlElement("elementname")]
的等效功能,该功能绝对指定输出序列化中字段/属性的名称。我有一个名为Elements
的字段,需要将其序列化为一个名为elements
的字段。
如何使用默认的JsonSerializer完成此操作?
谢谢,大卫
您是否正在使用DataContractJsonSerializer类?
如果是...
将此属性添加到您的Elements
字段中
[DataMember(Name = "elements")]
此SO question建议如何将JsonScriptSerializer的使用覆盖到JsonDataContractSerializer。
亲切,
丹
不幸的答案是,你不能这样做。话虽如此,我目前正在开发一个模块,该模块将通过在运行时产生一个遵循对象(如JsonIgnore或JsonProperty)规则的匿名对象来扩展任何对象。有空的话我会再发表。
此的正确属性是JsonPropertyName。