Shopify Online Store 2.0

Shopify JSON 模板尾逗号导致无法保存

保存失败表现#

在线商店编辑器或代码编辑器保存 JSON 模板(如 templates/product.json)时提示 invalid JSON / Unable to update template。有时只说“模板无法保存”,浏览器控制台可见 422。Section 文件本身 Liquid 正常,问题孤立在 JSON。

原因#

JSON 标准不允许数组或对象最后一个属性后的尾逗号。从 Liquid 或 JS 习惯带出的 ,} / ,] 会让解析失败。手改 templates/*.json 时删除某个 block 却留下逗号,或合并冲突残留 <<< 标记,同样致命。OS 2.0 模板顶层常见键为 sections、order、settings(以你主题实际结构与 JSON templates 为准),键名拼错不会表现为尾逗号错误,但会一并排查。

修复路径#

  1. 把该 JSON 粘到严格校验器(或 python -m json.tool)看报错行列。
  2. 删掉对象/数组末元素后的多余逗号;排除注释(标准 JSON 无注释)。
  3. 用主题代码编辑器的“格式化”前先备份,避免格式化被坏 JSON 中断。
  4. CLI:shopify theme push --only templates/xxx.json 前本地先 json.tool 通过。
  5. 若由应用写入模板,抓应用日志,确认其序列化未开“JS 风格尾逗号”。
  6. 修复后在编辑器打开该模板,拖动一次区块并保存,确认往返不损坏。

验收#

文件可保存;json.tool 退出码 0;前台对应模板可渲染。备份保留至确认无回归。

本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。