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

如何在WireMock JSON响应模板中返回数字而非字符串?

WireMock JSON响应模板的VS Code语法错误解决方法

问题场景

你有一个WireMock的JSON响应模板文件:

{
  "num": "{{jsonPath request.body '$.num'}}",
  "string": "lorem"
}

原本的写法会把请求中数字类型的num字段返回成字符串,去掉双引号改成"num": {{jsonPath request.body '$.num'}}后,能正常返回数字类型,但VS Code会抛出“Property expected json(513)”的语法错误。

解决方法

这个错误的核心是VS Code把WireMock模板文件当成标准JSON校验,但模板里的Mustache占位符不符合标准JSON语法。可以用以下两种方式解决:

1. 将模板文件关联到JSONC格式

JSONC(带注释的JSON)的校验规则更宽松,允许非标准占位符内容:

  • 直接把模板文件扩展名改成.jsonc;或者保持.json扩展名,手动设置关联:
    1. 打开VS Code命令面板(Ctrl+Shift+P)
    2. 输入「Change Language Mode」并选择
    3. 选择「Configure File Association for '.json'」
    4. 选择「JSON with Comments」

2. 在工作区设置中配置规则

如果不想修改扩展名,可以在工作区的settings.json中添加配置,让VS Code对WireMock模板文件采用宽松校验:

{
  "files.associations": {
    "**/wiremock/**/*.json": "jsonc"
  }
}

这里的**/wiremock/**/*.json可以替换成你存放WireMock模板文件的实际路径,确保只对目标文件生效。

原理说明

WireMock响应模板是嵌入Mustache语法的动态文件,并非严格标准JSON。VS Code默认的JSON校验器会将模板占位符识别为语法错误,而JSONC模式允许这类非标准内容,通过文件关联让IDE用适配的规则处理模板文件,就能消除报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 14:24:53