You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JSON文档中复用已定义的结构(如basic_defense)?

解决JSON配置文件复用模板的实用方法

原生JSON本身不支持模板引用或宏功能,所以你需要通过预处理的方式,把标记替换成实际的模板内容,再给游戏使用。下面是几个适合非程序员的简单方案:

方法一:文本编辑器批量替换(零门槛)

这是最容易上手的方式,几乎所有文本编辑器都支持:

  • 先把你的basic_defense模板单独整理好,比如:
[
  {
    "unit": "laser_tower_v1",
    "priority": "high",
    "how_many": 4
  },
  {
    "unit": "anti_air_v1",
    "priority": "low",
    "condition": {
      "air": true
    }
  }
]
  • 在你的配置文件里,继续用"templates.basic_defense"作为标记占位
  • 打开编辑器的查找替换功能(比如VS Code按Ctrl+Shift+H,Notepad++按Ctrl+H)
  • 查找内容填"templates.basic_defense",替换内容粘贴上面的模板代码
  • 点击「全部替换」,就能得到所有引用都替换完成的完整JSON配置

方法二:用极简Python脚本自动生成(一次设置永久复用)

如果你需要频繁更新模板,这个方法更高效,不用每次手动替换:

  1. 先安装Python(官网下载对应系统的安装包,一路点下一步即可完成安装)
  2. 新建一个文本文件,把下面的代码复制进去,然后把文件名改成generate_defenses.py
# 定义你的防御模板
basic_defense = [
    {
        "unit": "laser_tower_v1",
        "priority": "high",
        "how_many": 4
    },
    {
        "unit": "anti_air_v1",
        "priority": "low",
        "condition": {
            "air": True
        }
    }
]

# 定义你的建筑配置(用标记占位)
config = {
    "buildings": {
        "basic_vehicle_factory_v1": {
            "defenses": "templates.basic_defense",
            "priority": "high"
        },
        "basic_aircraft_factory_v1": {
            "defenses": "templates.basic_defense",
            "priority": "medium"
        },
        "basic_naval_factory_v1": {
            "defenses": "templates.basic_defense",
            "priority": "medium"
        }
    }
}

# 自动替换标记
for building in config["buildings"].values():
    if building["defenses"] == "templates.basic_defense":
        building["defenses"] = basic_defense

# 输出最终的JSON
import json
print(json.dumps(config, indent=2))
  1. 双击运行这个脚本,或者打开命令行进入文件所在目录,输入python generate_defenses.py
  2. 把输出的内容复制出来,保存成游戏需要的配置文件即可

之后如果要修改模板,只需要修改脚本里的basic_defense部分,重新运行就能生成新的配置。

内容的提问来源于stack exchange,提问作者user22900376

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 12:52:33