JSON.Net忽略只有null属性的类

时间:2011-11-06 15:27:03

标签: c# .net json.net

跟进我的上一个问题(http://stackoverflow.com/questions/8027748/render-c-sharp-class-as-javascript/8027824#8027824),我现在正在使用JSON.net转换一些类到JSON。工作得很好,但我有一些类包含其他类作为成员。例如:

public class Parent
{
   public Child Child { get; set; }
   public string Var { get; set; }
}

当我使用json.net渲染时,我可以将序列化器设置为忽略空值。这意味着Var成员在未设置时不会打印。基于它的值,我希望Child成员具有相同的行为。因此,当Child的所有成员都为null时,整个类呈现为“{}”,并且应该在父对象中全部忽略它。

这可能吗?

1 个答案:

答案 0 :(得分:0)

我自己没有使用JSON.Net,所以我不知道这是不是这样做。

但我可能会建议您是否能够为JsonConverter个实例插入自己的Child:您可以使用反射来查明所有字段是否为空(或者是否存在'太多了,只需手动测试)。如果是,则生成{},如果不是,则委托将使用的转换器。