先把结论说清楚:对象格式变化时,不要只改输入框里的写法,而要同步重写三样东西——字段映射表、无效输入的判定规则、以及交付给下游的字段说明。否则工具即使跑通,多个角色对同一批结果的理解也会分叉。下面用一个假设情境串起来说明。
假设团队一直用一份 CSV 喂给关键词筛选工具,列名是 query、volume、intent。某天数据源换成 JSON,字段变成 keyword、search_count、intent_tag,并且 search_count 是字符串而不是数字。运营认为“只是换个格式”,技术认为“字段全变了要重做映射”,投放认为“结果没变,照旧用”。三种理解都成立,但指向不同的下一步。
这时要做的不是争论谁对,而是把分歧转成可核对的项目:列出旧字段与新字段的对应关系、每个字段的类型、以及缺失时怎么办。谁填这张表,谁就负责在下一次交付时说明哪些字段是必填、哪些可以留空。
对象格式变化,实质是字段名、字段类型、嵌套层级三件事之一或全部变了。按顺序处理:
query 对应新 keyword,旧 volume 对应新 search_count。名称不同不代表含义相同,要拿几条真实记录对照确认。做完映射后,取一小批数据跑一次,检查输出里字段是否齐全、数值是否还能比较。这个动作的结果决定下一步:如果字段齐全但数值不可比,就回到类型转换;如果字段缺失,就回到映射表补对应关系。
格式变化后,原来“空字符串算无效”的规则可能不再适用。新格式里缺失字段可能表现为 null、空数组、或字段直接不出现。三种情况对筛选结果的影响不同:
null:通常表示“有该字段但无值”,可以按缺失处理。把这三类分别写进输入规范,并注明遇到时是跳过、报错还是保留。这样多个角色拿到同一批数据时,能对“为什么这条没进结果”给出同一个解释。如果只写“无效输入会被过滤”,分歧还会再出现一次。
输入规范改完后,下游拿到的如果只有结果文件,仍然会按旧口径理解字段。所以在交付时补一段字段说明:每个字段来自哪个原始字段、经过什么转换、缺失时代表什么。这段说明不需要很长,但要能让执行人员在不回看脚本的情况下判断一条记录是否可用。
一个可操作的检查方式:让另一位同事只看字段说明和结果文件,判断三条记录的筛选理由。如果他的判断和你的判断不一致,说明字段口径还没写清,需要回到映射表补充,而不是直接改结果。
并非所有格式变化都要重写规范。可以按影响范围区分:
判断依据是“下游能否用同一套口径理解结果”。能,就只改输入;不能,就改规范。这个判断本身也可以作为一次核对项,写进交接记录里,避免下次格式再变时重新争论一遍。