Version:

本文内容

JSON对象序列化系统

对象可以序列化为 JSON ,这是一种机器可读格式,旨在方便人类阅读和编辑。有了 JSON,撰稿人无需专业工具或详细的 XML 架构,就能对数据进行微小的修改。许多编程语言也为 JSON 数据提供了强大、易用的支持,从而简化了在O3DE 编辑器之外支持项目的构建和设计工具的开发。

Open 3D Engine (O3DE) 中,使用 JSON 序列化格式还具有以下优点:

  • 最小序列化 – 只有与对象相关的数据才会被序列化。默认值和可在运行时检索的信息不会被存储。这样可以减小对象的大小,使手动编辑更容易。
  • 尽全力反序列化 – 为了补充最小序列化,引擎在反序列化时会应用尽可能多的数据。如果 JSON 输入中缺少字段,则会使用默认值。对象不支持的 JSON 字段将被忽略。这样,与需要严格结构的 XML 相比,处理 JSON 的错误率更低。
  • Forgiveness – 由于 JSON 的宽容性,即使发现数据丢失,O3DE 也能继续序列化和反序列化,同时发出警告(可选择报告错误)。这也适用于 O3DE 使用的特殊数据类型,如向量。(例如,如果一个 3D 矢量包含第 4 个坐标,O3DE 会忽略它并发出警告)。这使得手动编辑和自定义工具更加安全。
  • 易于版本控制 – 版本控制系统在合并 XML 文件或生成有用的差异时可能会遇到困难。由于 JSON 的灵活性和有限的格式,在版本控制系统中将 JSON 文件作为文本文件处理会更容易。

本节文档包括 JSON 格式数据的序列化和反序列化,以及如何将 O3DE 数据类型映射到 JSON 数据类型。

相关主题