运行时生成大型POCO- Control JSON

时间:2014-02-08 10:08:54

标签: c# json serialization

我有一个大型的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],而不是使用当前的“解决方案”?

1 个答案:

答案 0 :(得分:0)

您无法在运行时向已编译的类型添加属性。

您可以考虑使用反射,但这只与静态元数据无关,而静态元数据无法在运行时更改并应用于该类型。