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

如何将JSON文件读取到变量并在HTTP文件中全局复用?

如何将JSON文件读取到变量并在HTTP文件中全局复用?

嘿,这事儿我熟!你想把JSON文件内容读到全局变量里,在HTTP文件的多个请求里重复用,这个思路完全可行,我帮你把细节捋清楚:

首先你需要一个小工具函数来读取JSON文件,创建一个readFile.js文件,内容如下:

const fs = require('fs');

function readFile(filePath) {
  // 读取文件内容并解析成JSON对象
  const fileContent = fs.readFileSync(filePath, 'utf8');
  return JSON.parse(fileContent);
}

module.exports = readFile;

这个函数会同步读取指定路径的JSON文件,把内容解析成JSON对象后返回。

接下来就是你的HTTP文件(比如myrequest.http)的写法,你的示例框架已经很对了,调整一下细节就能正常工作:

< {%
    import readFile from './readFile.js';
    // 把读取到的JSON内容设置为全局变量DATA
    client.global.set("DATA", readFile('data.json'));
%}

### 第一个POST请求
POST http://localhost/api/v1/model
Content-Type: application/json

{{DATA}}

### 第二个POST请求
POST http://localhost/api/v2/model
Content-Type: application/json

{{DATA}}

我给你拆解下每个部分的作用:

  • 开头的< {% ... %}是HTTP文件的预处理器脚本块,会在发送请求前执行这段JS逻辑:导入我们写的readFile函数,读取data.json的内容,然后通过client.global.set把内容存入全局变量DATA,这样整个HTTP文件里都能调用这个变量。
  • 后面的两个POST请求里,直接用{{DATA}}作为请求体就行,因为我们已经设置了Content-Type: application/json,HTTP客户端工具会自动把DATA对应的JSON对象转换成正确的请求体格式发送出去。

最后给你提几个注意点:

  • 确保readFile.js、myrequest.http和data.json的路径关系正确,要是不在同一个目录,记得调整文件路径哦。
  • 这个方案依赖你用的HTTP客户端工具支持预处理器语法(比如VS Code的REST Client插件、JetBrains系列IDE自带的HTTP Client都支持),如果是其他工具可能需要微调语法,但核心逻辑是一样的。
  • 要是遇到变量没生效的情况,先检查JSON文件有没有语法错误,再确认脚本块的路径是否正确,或者看看工具的控制台有没有报错信息。

备注:内容来源于stack exchange,提问作者Nae

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 17:04:32