C# JSON.Net忽略仅具有空属性的类
跟进我的最后一个问题(http://stackoverflow.com/questions/8027748/render-c-sharp-class-as-javascript/8027824#8027824),我现在使用JSON.net将一些类转换为JSON。很好,但是我有一些类包含其他类作为成员。例如:C# JSON.Net忽略仅具有空属性的类,c#,.net,json.net,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; } }
public class Parent
{
public Child Child { get; set; }
public string Var { get; set; }
}
当我使用json.net呈现它时,我可以将序列化程序设置为忽略空值。这意味着未设置Var成员时不会打印它。基于其价值观,我希望儿童成员也有同样的行为。因此,当子对象的所有成员都为null时,整个类呈现为“{}”,应该在父对象中一起忽略它
这可能吗 我自己还没有使用JSON.Net,所以我不知道这是不是一种方法
但我可能会建议,如果您能够为
Child
实例插入自己的JsonConverter
:您可以使用反射来确定是否所有字段都为空(或者如果字段不太多,只需手动测试)。如果是这样,请生成{}
,如果不是这样,则委托给其他转换器。我自己没有使用JSON.Net,所以我不知道这是否是实现的方法
但我可能会建议,如果您能够为Child
实例插入自己的JsonConverter
:您可以使用反射来确定是否所有字段都为空(或者如果字段不太多,只需手动测试)。如果是这样,则生成{}
,如果不是这样,则委托给否则将使用的任何转换器