C# newtonsoft.json 序列化时空值处理
默认都是会返回null值,如果不想要可以按以下方式设置,目前还有一个问题是如何让所有空值字段不返还null而返回“”。暂行解决办法是直接把序列化后的字符串中的null替换为“”
public static string JsonSer(object JsonDoc)
{
try
{
var jsonSet = new JsonSerializerSettings();
jsonSet.NullValueHandling = NullValueHandling.Ignore;
//如果DefaultValueHandling 设置为Include,则空值依旧会被序列化
jsonSet.DefaultValueHandling = DefaultValueHandling.Ignore;
return JavaScriptConvert.SerializeObject(JsonDoc, Formatting.Indented, jsonSet);
//把null替换为“”,目前没有找到更好的办法...
//return JavaScriptConvert.SerializeObject(JsonDoc, Formatting.Indented, jsonSet).Replace("null", "\"\"")
}
catch (Exception E)
{
E.Data.Add("Code", "10002");
throw E;
}
}
浙公网安备 33010602011771号