4

我有一个需要通过 ASP.NET MVC 框架中的 JsonResult 输出的类库。(JsonResult 使用 JsonSerializer 来产生它的输出。)

我通过阅读文档发现,如果您放置[ScriptIgnore]公共属性/字段,它将不会被序列化,就像[XmlIgnore]XML 序列化程序一样。

我需要 的等效功能[XmlElement("elementname")],它绝对指定输出序列化中的字段/属性的名称。我有一个名为的字段Elements需要序列化为一个名为elements.

如何使用默认的 JsonSerializer 完成此操作?

谢谢,大卫

4

3 回答 3

2

你在使用DataContractJsonSerializer类吗?

如果是这样的话 ...

将此属性添加到您Elements的字段

[DataMember(Name = "elements")] 

这个SO question建议如何将 JsonScriptSerializer 的使用覆盖到 JsonDataContractSerializer。

善良,

于 2009-12-11T14:54:18.763 回答
1

不幸的答案是,你不能这样做。话虽如此,我目前正在开发一个模块,该模块将通过在运行时生成一个匿名对象来扩展任何对象,该对象将遵循来自属性的规则,例如 JsonIgnore 或 JsonProperty。当我有东西时,我会发布更多。

于 2009-12-14T18:11:57.823 回答
-1

正确的属性是JsonPropertyName

于 2019-11-10T04:28:56.217 回答