Go 编程语言正通过发布 `encoding/json/v2` 对其标准库的 JSON 处理功能进行重大重构。此次更新旨在解决以往关于 Go JSON 处理速度缓慢以及现有 API 不直观的批评。对于许多开发者来说,当前的序列化接口一直是一个摩擦点,特别是关于错误处理方式以及生成人类可读输出的复杂性。
这一新 API 的开发是一项历时多年的工程,一些观察人士指出,它耗时约六年才达到发布阶段。这一时间线归功于 Go 团队致力于在接口推向生态系统之前,对其进行仔细的考虑和完善。与其说是缺乏进展,不如说这段时长反映了一种刻意的做法,旨在确保新的标准对于数百万依赖 Go 进行后端和系统编程的开发者来说保持稳定且高质量。
虽然新 API 提供了一种现代化的体验,但它也为现有用户带来了权衡。一些开发者对移除便捷的辅助函数表示担忧,例如简化格式化 JSON 创建的 `MarshalIndent`。虽然这些任务现在可以通过更复杂的代码处理或由大语言模型 (LLMs) 辅助完成,但这一变化突显了向更结构化、尽管“快捷方式”较少的 API 的转变。此外,此次更新是在 Go 继续在 AI 辅助开发中获得普及之际推出的,其安全性特性和可控的控制流使其成为使用本地 LLM 生成代码的开发者的首选。
对于开发者来说,剩下的一个不确定因素是 v1 和 v2 实现之间的具体性能差异,因为主要素材侧重于架构转变,而非提供详尽的基准测试。此外,随着 API 的成熟,社区将需要评估它与围绕原始 `encoding/json` 规范构建的现有第三方库的集成顺畅程度。
