首页新闻找找看学习计划

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

0
悬赏园豆:10 [已关闭问题] 关闭于 2017-06-08 14:31

如题:

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

我知道jsonserializersettings可以设置序列化时忽略null值。

但是现在我想要忽略空值,如:“”或者empty 这样的。

 

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

请问该怎么处理?

Vincent8464的主页 Vincent8464 | 初学一级 | 园豆:41
提问于:2017-06-08 10:39
< >
分享
所有回答(4)
0

你就该把int改成int?

然后前端传"id":null 回来.

吴瑞祥 | 园豆:28770 (高人七级) | 2017-06-08 10:44

老项目,新功能。改的话,很多地方都要动。

所以想问问能不能重写一下jsonserializersettings里的方法

支持(0) 反对(0) Vincent8464 | 园豆:41 (初学一级) | 2017-06-08 11:00

@h_Vincent: 得自己写解析实现.查下json.net文档就能看到.特性打在实体类属性上.这个属性就单独用你写的特性里的解析方式解析.

支持(0) 反对(0) 吴瑞祥 | 园豆:28770 (高人七级) | 2017-06-08 11:10
0

用可空类型

hahanonym | 园豆:1460 (小虾三级) | 2017-06-08 10:47
0

在数据的源头给可空类型或默认值。

龙行天涯 | 园豆:1800 (小虾三级) | 2017-06-08 12:54
0

唉,最后只能在前端传值的时候,循环json对象。判断值为“”的元素,赋值为null。
然后在后端转成实体的时候设置忽略null值。

Vincent8464 | 园豆:41 (初学一级) | 2017-06-08 14:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册