我对数据转换的看法
Source: Dev.to
引言
当我在 2011 年开始从事开发工作时,生活要简单得多。当时我们只有三个人,在大学期间一起搭建网站并管理数据。我们几乎不知道自己在干什么,但竞争不激烈,所以还能应付。
变化的格局
转折点出现在我们从定制网站转向自行开发产品时。客户陆续到来,带来了各种遗留系统——甚至还有用 COBOL 编写的系统。
在早期,每一个新集成都是有偿工作,而且相对容易,因为我们可以为每个客户创建专门的模块。
如今情况不同:集成的数量增加了,需求既有内部也有外部,这意味着并非每个集成都能直接带来利润。
朝可复用解决方案迈进
我的工作逐渐转向可复用的模块、标准化的 API,以及使用与我们 API 相同格式的 FTP 工作流。
早期实验
- JSON schemas – 我为它们构建了一个 UI,但项目从未让我在业余时间继续下去的兴趣。
利用 AI 时代
当 AI 工具广泛可用时,它们让我能够在更短的时间内完成更多工作。这开启了新的可能性,也让我产生了一个新想法:查询。
基于查询的方法
结果相当令人鼓舞。我已经构建了:
- 一个命令行界面
- 一个带自动 Swagger 文档的 API 服务器
- 一个 JavaScript/TypeScript 库
该系统能够转换 CSV、XML、JSON,甚至更复杂的格式,如 EDIFACT 和定长纯文本。
基本示例
from xml to json
transform
set id=CID
set number=number(progressive)
上面的代码片段将 XML 转换为 JSON,从 CID 中提取 id 字段,并将 number 字段转换为数值类型。
试玩场
我创建了一个在线试玩场,能够轻松基于已有数据编写查询。随着使用,我会在出现需求时不断添加新函数和适配器。
征求讨论
我相信我并不是唯一看好这种方法的人。我在此分享,希望能激发有趣的讨论。
如果你对这个项目感兴趣,欢迎随时联系!