V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  BeautifulSoap  ›  全部回复第 25 页 / 共 102 页
回复总数  2027
1 ... 21  22  23  24  25  26  27  28  29  30 ... 102  
@rekulas 如果你是个合格的程序员并且经验丰富接触的语言也不只有一种的话,那么你会清楚一般来说语言解析遇到 null 的话,都会尽量将其解析为对应语言中的空指针/null/None 一类。比如 python 把 null 解析为 None, js 、php 、java (大部分 json 包)会把 null 解析为 null 。而对于 kotlin 这种明确区分了空值非空值的语言,将 null 解析为非空类型的字段会直接报错。

话题绕回来,对于 json 来说 null 存在是合理的,但是将 null 解析为非指针的时候不报错解析为默认空值是不合理的。请问你如何区分 {"a":null} {"a":0} ?而且落地到实际项目中,假设一个 api 接口所有字段都是禁止传 null 的,但是前端/外部接口就硬是因为 bug 之类的给你传了个 null ,请问你认为是直接报错拒绝请求比较好呢,还是直接解析成对应类型空值去处理业务从而引发严重事故好?
@knightdf
@dobelee
@pkoukk
关于 validation 这件事,你们真的应该亲自试试,就会发现这根本不是 validation 能解决的问题。
null 会被解析为默认空值,如 int 字段传入 null 会被解析为 0 ,即便用 validator 这个包做 validation 检测也只能检测字段是不是 0 。但在实际业务中 int 值字段为 0 基本都是正常值,不应该被报错


@RedisMasterNode
你理解错 9L 的意思了,你提供的这段代码其实是有问题的。比如你尝试解析下 `{"name": "john", "age": 0}` 是会报错的(有的地区是有 0 岁这个概念的哦),单纯在解析后用 validator 是没法区分传入的到底是 0 岁还是 null 的
@ye4tar 试了下没效果。json 包其实不不支持 notnull, required 标签的
@fgwmlhdkkkw json.Unmarshal() 会把 null 解析成对应类型的空值,比如 int 的话就是 0 。validation 只能判断是不是 0 不能判断是不是 null ,派不上用场
@zhs227 可能不太现实,因为通过定义成指针来满足第二点需求的话,意味着结构体全部字段都必须定义成指针。如果字段非常多(几十上上百个)一个个判断代码量和工作量非常大增减字段容易出纰漏(最终要上反射)。而且所有字段定义成指针的话,使用起来会相当难受
283 天前
回复了 KOMA1NIUJUNSHENG 创建的主题 问与答 哪些人会买 iPhone 的 plus 系列
数字系列和 pro 的屏幕太小了,我要买只会考虑 plus 或 pro max
edge 不是自带吗
虽然我很能喝酒,过年和老家那些老头灌白酒也行,但日本呆久了,梅酒,各种口味的沙瓦,高球鸡尾酒之类的喝多了,你让我闲得没事去喝四五十度的酱香白酒,我怕不是脑子抽了
白酒这种联动只能说是死前挣扎,再过十几年白酒越来越不行肯是趋势
?这需求 jellyfin 不是完美满足吗,你建媒体库的时候类型选错了,别选电影
@brader samba 服务器任意一个第三方文件管理器都支持的东西。mixplorer (不光有 samba ,ftp/sftp/http/webdav 服务器都有),x-plorer ,es 文件浏览器之类的基本算是标配了
288 天前
回复了 zhuoyue100 创建的主题 Go 编程语言 怎么提升 golang 开发水平
实际找个项目去做
很多细节和知识只看代码不亲自动手是没法真的领会为什么要这么作的
290 天前
回复了 zx9481 创建的主题 Windows 2023 年 9 月 win11 还好用吗?
@BeautifulSoap 打错,是 23H2
290 天前
回复了 zx9481 创建的主题 Windows 2023 年 9 月 win11 还好用吗?
再过一段时间 23H3 要发布了,任务栏强制不合并,最后一个阻碍升 win11 的阻碍没了
然后资源管理器自带 7z ,rar 等格式解压,算是比之前好多了
是个眼界和所处环境的问题,国内 php 用得没那么多了,以为 php 要完了。但是世界范围内 PHP 依旧是主流语言。一堆新网站项目依旧上的 php
293 天前
回复了 gsjmoveon 创建的主题 VPS v.ps 家的 cn2 服务器疑问
别碰 v.ps
你会变得不幸
296 天前
回复了 vicalloy 创建的主题 Python 你们的 Python 代码加不加 Type Hints
反正已经不用 python 写大项目了,小项目或者脚本我是不太加的,主要是 python 这 type hint 实在写起来难受死了
给 List 之类基础类型写个 type hint 还得导包
给函数指针写 type hint 要导入 Callback ,然后 Callable[[typ1, type2 ..., type3], type3] 这样不光看得闹心我写得也是闹心,尤其一个入参出参复杂点的函数
而且 idea/pycharm 不知为什么经常 type hint 工作不正常,其他地方明明都加了 type hint 了,一看创建的变量类型 Any ,摔
反正体验说不上太好
297 天前
回复了 LeeReamond 创建的主题 程序员 有没有多平台通用的日程记录软件?
请善用日历
在我印象中,华为系的系统广告是比小米还多的
1 ... 21  22  23  24  25  26  27  28  29  30 ... 102  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   982 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 104ms · UTC 19:34 · PVG 03:34 · LAX 12:34 · JFK 15:34
Developed with CodeLauncher
♥ Do have faith in what you're doing.