返回上一页

sing-box 配置报错?JSON 语法错误排查

本文信息

📅首次发布:
🔄最后更新:同首次发布
👤作者:Clash Wiki 极客组
🧪测试环境:标准千兆终端 / 最新内核
📌内容类型:故障排查

内容更新记录

  • 首次发布,完成基础内容与环境测试

不同于 Clash 采用极度宽松、甚至依靠空格缩进的 YAML 语法,sing-box 采用了极其严格的 JSON 语法。

很多习惯了 Clash 的极客玩家,第一次手搓 sing-box 配置文件时,都会被满屏的 [Fatal] failed to parse config 报错折磨到怀疑人生。

其实,sing-box 的报错不仅不吓人,反而非常精准。只要你掌握了 JSON 的几个“死规定”,99% 的错误都能在 1 分钟内解决。


常见报错 1:逗号引发的血案 (Trailing Comma)

错误提示: FATAL [0000] failed to parse config: json: cannot unmarshal string into Go value of type... 或者直接在编辑器里标红。

原因分析: 这是 JSON 语法中最最最常见的错误——多写了或少写了逗号。 在 JSON 字典或数组中,最后一个元素绝对不能有逗号,而中间的元素必须有逗号。

❌ 错误写法:

"outbounds": [
  {
    "type": "vless",
    "server": "1.1.1.1", // 这里有逗号,是对的
  }, // 错误!这是数组的最后一个元素,不能有逗号!
]

✅ 正确写法:

"outbounds": [
  {
    "type": "vless",
    "server": "1.1.1.1" // 删除了逗号,正确!
  }
]

常见报错 2:括号不匹配

错误提示: FATAL [0000] failed to parse config: unexpected end of JSON input

原因分析: 你的 { } (大括号/花括号) 或者 [ ] (中括号/方括号) 没有成对出现。 通常是因为你在复制粘贴某一段路由规则时,少复制了最后的一个 ],导致整个文件结构崩溃。

解决方案: 不要用记事本改代码!不要用记事本改代码!不要用记事本改代码! 请下载使用免费的 VS Code 软件,它会自动为你将大括号匹配上对应的颜色。如果你少了一个括号,整个文件底部都会亮起红色的波浪线。


常见报错 3:双引号 vs 单引号

错误提示: FATAL [0000] failed to parse config: invalid character '\'' looking for beginning of object key string

原因分析: 在 JS 或 Python 语言中,单引号 ' ' 和双引号 " " 可以混用。 但 JSON 是一门死板的格式,它只认双引号 " "!所有的 Key(键名)和 String(字符串值)都必须用双引号包裹。

❌ 错误写法:

{
  'type': 'direct', // 错误!不能用单引号
  tag: "proxy" // 错误!Key (tag) 必须被双引号包裹
}

✅ 正确写法:

{
  "type": "direct",
  "tag": "proxy"
}

常见报错 4:找不到 Outbound (路由规则写飞了)

错误提示: FATAL [0000] route: default outbound not found 或 outbound proxy not found

原因分析: 你的 JSON 语法完全正确,成功骗过了编辑器,但是逻辑错了。 你在 route (路由) 规则里写了让某个网站走 tag: "proxy" 的出口,但是在你的 outbounds (出口) 列表中,根本没有哪一个节点的 tag 叫 proxy。

解决方案: 检查你的路由规则:

"rules": [
  {
    "domain_suffix": ["youtube.com"],
    "outbound": "my-proxy" 
  }
]

确认你的 outbounds 里确实存在这个名字:

"outbounds": [
  {
    "type": "vless",
    "tag": "my-proxy", // 名字必须完全匹配大小写!
    "server": "..."
  }
]

终极排错利器

如果你对着几十行代码找不出到底错在哪里,不要折磨自己的眼睛,直接使用自动化工具:

  1. JSON 格式化校验网站:打开 JSON Lint,把你的整段配置粘贴进去,点击 Validate JSON。它会直接告诉你第几行第几个字符错了。
  2. AI 排错:把报错信息和你的配置文件直接发给 ChatGPT 或 Claude,输入指令:“帮我检查这段 sing-box 配置文件的 JSON 语法错误”,AI 通常能在一秒钟内帮你精准定位并修复代码。

⚡ 遇到网络或节点问题?

如果您已经确认是网络环境或节点本身不稳定导致频繁 Timeout(超时)或卡顿,我们建议尝试更优质的专线或中转服务。可以查看 ClashWiki 为您精心收录与持续监测的服务商评测:

查看 2026 最新机场推荐

编辑团队:Clash Wiki 极客组

本文由编辑组审核

专注网络工具、客户端配置、AI 工具与跨境网络体验研究。
为保证内容的准确性与时效性,我们会定期对文中的配置步骤与评估数据进行重新验证。本站所有教程与评测均基于结构化评估模型与真实物理环境搭建。

正在寻找稳定可靠的网络服务?

我们深度测试了市面上的主流服务商,为您整理了客观、中立的推荐榜单与评分。

查看机场服务商推荐榜单