Newtonsoft.Json,序列化时忽略空值

细嗅蔷薇 2017-06-08 11:43:49
如题:
Newtonsoft.Json,序列化时忽略空值
JsonSerializerSettings jss = new JsonSerializerSettings();
jss.NullValueHandling = NullValueHandling.Ignore;
序列化时忽略null值。
但是现在我想要忽略空值,如:“”或者empty 这样的。

场景是前端传来的json字符串中包含{"id":"","begindate":""}这样的数据,后端对应的实体类中是int和date。
序列化成实体类的时候肯定会报错的。
请问该怎么处理?

PS:老项目了所以不能更改实体类型为可为null
...全文
921 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
正怒月神 版主 2017-06-08
  • 打赏
  • 举报
回复
引用 2 楼 lovesheng1212 的回复:
你没看到我最后一句说的什么吗?
还真没注意。貌似只能判断了。
细嗅蔷薇 2017-06-08
  • 打赏
  • 举报
回复
引用 1 楼 hanjun0612 的回复:
实体类中是int和date 改为 int? date?
你没看到我最后一句说的什么吗?
正怒月神 版主 2017-06-08
  • 打赏
  • 举报
回复
实体类中是int和date 改为 int? date?
细嗅蔷薇 2017-06-08
  • 打赏
  • 举报
回复
唉,最后只能在前端传值的时候,循环json对象。值为“”的元素,赋值为null。 然后在后端转成实体的时候设置忽略null值。
正怒月神 版主 2017-06-08
  • 打赏
  • 举报
回复
如果2个都不能改,那也就没什么好多少的了。
正怒月神 版主 2017-06-08
  • 打赏
  • 举报
回复
照道理来说,如果你这边没法改。 那找找接口调用方,让他们传给你默认值
EnForGrass 2017-06-08
  • 打赏
  • 举报
回复
替换成后面那张
EnForGrass 2017-06-08
  • 打赏
  • 举报
回复
重新把{"id":"","begindate":""}json字符串换成{"id":null,"begindate":null},不就行了

62,039

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧