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;
}
}

posted on 2014-05-07 14:34  Sun_Yang_  阅读(3335)  评论(0)    收藏  举报

导航