.net JsonSerializer中的重命名字段

.net JsonSerializer中的重命名字段,.net,asp.net-mvc,json,jsonserializer,.net,Asp.net Mvc,Json,Jsonserializer,我有一个类库,需要通过ASP.NETMVC框架中的JsonResult输出。(JsonResult使用JsonSerializer生成其输出。) 通过阅读文档,我发现如果将[ScriptIgnore]放在公共属性/字段上,它将不会被序列化,就像XML序列化程序的[XmlIgnore]一样 我需要[xmlement(“elementname”)]的等效功能,它绝对指定输出序列化中字段/属性的名称。我有一个名为Elements的字段,需要将其序列化为名为Elements的字段 如何使用默认的Json

我有一个类库,需要通过ASP.NETMVC框架中的JsonResult输出。(JsonResult使用JsonSerializer生成其输出。)

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

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

如何使用默认的JsonSerializer实现这一点

谢谢, 大卫

你在用这个课程吗

如果是的话

将此属性添加到
元素
字段

[DataMember(Name = "elements")] 
这建议如何将JsonScriptSerializer的使用覆盖到JsonDataContractSerializer

善良


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

正确的属性是。

不,我使用的是JsonSerializer。正如我提到的,它是必需的,因为它是JsonResult在MVC框架中使用的。添加了问题的链接,解释了使用Differnet(更可配置的)Json序列化程序的路线。这仍然不是我想要的,但这现在回答了问题,非常有用。如果没有人能回答这个问题,我可能会被迫走上这条路。谢谢我不明白为什么这会被否决。它与任何想要将强类型类库与JavaScript分离的人都非常相关。这是非常令人失望的,如果它真的不支持它。我在这个实例中的用例是OpenFlashChart2对象模型有一个JSON.net兼容的实现,我只想用[ScriptIgnore]和这个问题产生的任何属性来注释字段,然后作为一个ASP.net MVC兼容库提交给OpenFlashChart2团队。现在看来,我必须将这些类包装在一个ASP.NET MVC包装器中,包装器中的公共字段名称很差。David,你是否创建了一个ASP.NET MVC库,用于OpenFlashChart2?在最初提出这个问题10年后,你回答了这个问题。这个问题不是关于.NET Core 3.0内置的
JsonSerializer
,它在2009年当然不存在。这是关于现在已经过时的ASP.NET MVC 2.0中内置的
JsonSerializer
,在它们切换到JSON.NET作为默认序列化程序之前。