读取JSON后为什么还要校验:格式正确不代表数据可用
解析器负责识别JSON语法,应用仍需检查字段、类型、范围和重复记录。
先区分语法与业务要求
一段文本能够被JSON解析器读取,只表示它满足相应语法,并不表示它具有程序需要的字段。应用可能要求标题是非空字符串、数量是非负整数、列表中每条记录都有唯一编号。把这些规则写清楚,才能区分输入格式错误与业务数据不合格,而不是等到后续处理时才出现难以定位的异常。
检查字段与类型
读取后先判断顶层对象是什么类型,再逐项检查必要字段是否存在。不要把字符串中的数字和真正的数值默认为同一种数据,也不要把空字符串、空列表和缺少字段当成完全相同的情况。可选字段应有明确的缺省处理,未知字段是忽略还是拒绝,也应由接口约定决定。
检查范围与相互关系
字段类型正确之后,还要检查取值范围、长度和重复情况。有些规则涉及多个字段,例如结束时间不能早于开始时间,或者同一批记录的编号不能重复。对网址与文件路径,不仅要判断它们是字符串,还要限制允许的协议、目录与目标范围,避免未经验证的输入直接影响文件访问或请求目标。
在写入前报告错误
尽量在生成文件或修改数据库之前完成校验,并给出能够定位记录的错误信息。批量导入时,不应悄悄丢弃不合格记录又声称全部成功。先生成校验报告,再决定是否写入;重要导入还应保留原始输入和上一个有效版本。这样可以把数据问题控制在入口,减少部分成功、部分失败造成的混乱。
具体界面与功能可能因设备、软件版本或服务规则不同而变化。操作前请保存原文件及重要设置;涉及个人账户的信息,以服务提供方的官方页面为准。
← 返回编程笔记