结论先行:如果工具能接受的对象格式发生了变化,旧输入规范不应整体废弃,而应按“字段是否仍可映射、语义是否仍成立、失败是否可定位”三条标准逐项改写。只有确认旧格式中某个字段在新格式里没有等价位置,才删掉对应规则;否则保留字段名、只调整取值形态,能最大限度复用旧内容与旧合作关系。下面给出可操作的判定顺序和一个假设例子。
对象格式变化通常分三层,处理方式完全不同。第一层是语法层:分隔符、引号、编码、层级符号变了,但字段含义没变。第二层是结构层:字段被合并、拆分或改名,语义基本对应。第三层是语义层:某个字段在新格式里不再表示原来的意思,甚至被取消。
语法层变化只需要改输入模板,不触碰字段清单;结构层变化要做一次字段映射表;语义层变化才涉及删除或重写规则。把三层混在一起改,最常见的后果是旧内容里本来可用的字段被误删,后续再想恢复就得重新采集。
把旧规范里的每个字段列出来,逐行标注新格式中的对应位置,并给出三种状态之一:直接对应、需要转换、无对应。这张表是决定“退出”还是“保留”的唯一依据,不靠印象判断。
实际动作:先只改一个字段,用同一批旧数据跑一遍输入校验。如果校验通过且输出可读,说明这层映射成立,再批量套用到其余字段;如果失败信息指向字段本身而不是数据内容,说明映射判断有误,应退回映射表重查,而不是继续改模板。
假设旧规范里有一个“发布日期”字段,取值是单个日期;新格式要求同一位置填写起止区间。这不是字段消失,而是形态变化。处理方式是保留该字段,在规范中写明:单值视为区间起点与终点相同,区间用两个值表达。旧内容因此不必退出,只需在输入时补一个转换步骤。
反例:如果新格式里这个位置已经改为表示“最后修改时间”,那就不是形态变化,而是语义替换。此时把旧发布日期塞进去,会让下游判断全部错位。这种情况下正确做法是让旧字段退出,另找位置或另建字段,而不是靠转换硬凑。
以下任一情况出现时,前面“尽量保留”的结论要重新评估:
第三条尤其容易被忽略。校验粒度粗时,一次失败可能同时来自多个原因,此时不能因为“改了规范后失败变少”就认定映射正确,也可能只是数据量变小。请求量或失败数归零不能单独证明规范改对了。
先产出那张字段映射表,标注三种状态,再挑一个“需要转换”的字段做单点验证,根据校验输出能否定位到字段来决定是批量套用还是回退重查。旧内容与合作关系中仍然成立的部分,按映射表保留;只有确认无对应且无法转换的字段才安排退出。具体工具对格式的支持范围属于会变动的信息,落地前应以你正在使用的版本文档为准逐项核对。