我正在使用内部使用Json.Net的Web API。目前,我有一个场景,我需要将自定义合约解析程序仅应用于一个特定的模型。我可以使用[JsonConverter(typeof(MyConverter))]
之类的属性应用自定义JsonConverter。是否可以以相同的方式在一个模型上应用自定义合约解析器?
在我的场景中,我需要能够在反序列化期间使用[JsonProperty]
属性,但在序列化期间忽略它们,仅适用于我的一个模型类。
答案 0 :(得分:1)
没有将合同解析程序应用于特定模型的属性,因为合同解析程序本身负责确定适用于模型的属性。
您可以创建一个自定义解析器,在模型类中查找自定义属性,以确定是否对该类应用特殊行为,并且在没有该属性的情况下,它将恢复为使用默认行为。
但是,我不认为这个想法适用于您的场景,因为您使用的是Web API,并且您只想在序列化期间应用特殊行为(忽略JsonProperty属性)而不是反序列化。据我所知,解析器没有办法告诉它正在使用哪个操作。因此,您需要自定义活页夹或格式化程序,以便在适当的时间选择性地应用解析程序。