EasyLottie指南
Lottie JSON 与 Lottie ZIP:有什么区别?
清晰解释何时普通 JSON 就足够了,何时 ZIP 包可以防止资产丢失。


简短版本
Lottie JSON 文件包含动画指令:图层、形状、计时、颜色、变换和元数据。如果动画是纯粹基于矢量的或嵌入了所有必需的资源,则单个 JSON 就足够了。
Lottie ZIP 是一个封装。它通常包含 JSON 以及 JSON 引用的图像资源。当动画包含屏幕截图、徽标、纹理、头像或其他光栅文件时,ZIP 更安全。
为什么 JSON 文件有时会损坏
JSON可以引用图像路径,例如images/img_0.png。如果该图像未与 JSON 一起包含,则查看器或应用程序运行时无法渲染它。动画播放时可能会出现空白区域、缺少徽标或破碎的场景。
这就是为什么市场下载和设计师交接通常以 ZIP 文件形式到达的原因。该软件包将JSON和资源文件夹放在一起,这使得预览和编辑更加可靠。
您应该使用哪种格式?
当动画简单、基于矢量并且已在目标运行时中正确播放时,请使用 JSON。当涉及图像、需要替换资源或不确定JSON是否依赖于外部文件时,请使用ZIP。
对于编辑来说,ZIP 通常是更好的切换格式。 Image Replace 可以检测并更新包内的资源,然后导出完整的文件集供开发人员立即测试。
快速清单
- 使用 JSON 进行简单的矢量动画。
- 使用 ZIP 制作图像较多的动画。
- 嵌入前预览。
- 保持资产路径完整。
- 替换图像时导出ZIP。
重现工作流程
使用这些本地示例文件重复本指南中描述的检查。在生产项目中使用该文件之前请先检查该文件。
测试结果:独立 JSON 与资产包
旋转器和脉冲下载是小型独立的 JSON 示例。每个都有一层和一个空的资源列表,因此完整的动画在一个文件中传输。压缩器演示提供了一个对比:它声明了三个资产,这意味着在假设仅复制 JSON 就足够之前必须检查资产记录。
| 文件 | 被测结构 | 包装决定 |
|---|---|---|
| spinner.json | 1,527 字节、1 层、0 资产 | 单个 JSON 就足够了 |
| pulse.json | 1,357 字节、1 层、0 资产 | 单个 JSON 就足够了 |
| compressor-demo.json | 1,713 字节、2 层、3 资产记录 | 切换前检查资产类型和路径 |
| dotLottie | 基于ZIP的带舱单的标准化集装箱 | 当目标播放器支持dotLottie规格时使用 |
| 通用ZIP | 项目定义的文件夹,包含 JSON 和资产 | 使用接收运行时验证内部路径 |
仅凭文件扩展名并不能告诉您动画是否是独立的。检查资产数组并在创建该文件的文件夹外部测试该文件。
对于同一合约,通用 ZIP 和 `.lottie` 文件不可互换名称。 dotLottie 定义清单和容器结构,而通用 ZIP 可以使用特定工具期望的任何文件夹布局。
了解极限
- 并非每个玩家都接受通用 ZIP 上传,也不是每个玩家都支持 dotLottie 容器。在选择切换格式之前确认目标运行时间。
- 资源数组可以包含预合成以及光栅图像记录。非空数组不会自动证明外部图像文件丢失。
- 即使每个所需文件仍然存在,重命名 ZIP 内的文件夹也可能会破坏相对路径。
如果你的结果不同
- 1.打开 JSON 并检查每个资产记录的文件名、相对路径、嵌入数据 URL 或嵌套图层数据。
- 2.提取包而不更改其文件夹结构,然后验证每个引用的图像是否存在于预期的相对路径中。
- 3.单独测试 JSON 和整个套件。这些结果之间的差异表明存在资产解析问题。
- 4.仅当目标文档支持其清单和容器规范时,才使用 dotLottie。
常见问题
Lottie ZIP 是官方格式吗?
ZIP 包装是将 Lottie JSON 及其参考资产保存在一起的常见实用方法。
我可以预览 JSON 和 ZIP 吗?
是的。 EasyLottie 预览版支持两者。
为什么图像资源丢失?
JSON 可能引用了文件中未包含的外部图像。
哪种格式最适合开发人员?
最好的格式是保留所有必需资产的格式。对于基于图像的动画,ZIP 通常更安全。
主要来源
根据下面的原始运行时或格式文档检查了技术行为。