我有一个大型的C#/。Net POCO类,我将不得不使用UmbracoAPIController序列化为JSON,现在一切正常,但JSON非常大。
我有两个场景,POCO将被序列化为JSON,在场景1中,用户只需要看到JSON中的一小部分数据,而在第二个场景中,用户需要查看全部JSON。< / p>
我使用[JsonIgnoreAttribute]来控制是否将某个属性序列化为JSON,它也可以正常工作。
我在祖先类A中有这段代码:
//[JsonIgnoreAttribute]
[JsonProperty(PropertyName = "insured")]
public virtual UIInsuredModel[] Insured { get; set; }
然后我有一个继承自A
的后代B类[JsonIgnoreAttribute]
[JsonProperty(PropertyName = "insured")]
public override UIInsuredModel[] Insured { get; set; }
是否有一种很好的方法可以在运行时为POCO中的给定属性声明/添加[JsonIgnoreAttribute],而不是使用当前的“解决方案”?
答案 0 :(得分:0)
您无法在运行时向已编译的类型添加属性。
您可以考虑使用反射,但这只与静态元数据无关,而静态元数据无法在运行时更改并应用于该类型。