跟进我的上一个问题(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时,整个类呈现为“{}”,并且应该在父对象中全部忽略它。
这可能吗?
答案 0 :(得分:0)
我自己没有使用JSON.Net,所以我不知道这是不是这样做。
但我可能会建议您是否能够为JsonConverter
个实例插入自己的Child
:您可以使用反射来查明所有字段是否为空(或者是否存在'太多了,只需手动测试)。如果是,则生成{}
,如果不是,则委托将使用的转换器。