JSON 与数据处理指南
从 JSON 生成 TypeScript 与 Go 类型:样例不能代替约定
生成类型后复核可选字段、混合数组、null 和数字精度,避免把样例当成完整接口定义。
样例只展示已观察到的值
生成器根据看到的值推断结构,所有样例都有的字段并不会自动暴露其可选性。
应提供有代表性的记录并复核结果,单个成功响应无法覆盖错误响应、空数组或其他结构。
{"id":"00123","name":"Ada","tags":["reader"],"note":null}缺失与 null 分开建模
TypeScript 可选属性与可空联合描述不同状态,Go 指针可以表示 null,但省略语义还取决于解析与序列化。
接口应明确字段未传与主动设 null 的差异,这条业务规则不能靠生成代码决定。
检查数组与数字
空数组无法提供元素类型信息,混合数组可能需要联合类型或显式的带判别字段对象。
不参与计算的 ID 可以使用字符串,JavaScript 数值、Go 整数和解码默认类型的精度与溢出边界不同。
编译并验证接口约定
把结果放到目标项目,使用真实编译选项检查;TypeScript 类型不会校验运行时收到的不可信 JSON。
必要时增加运行时 Schema 验证并保存接口样例,接口演进时重新生成后审查差异。