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

如何逐条读取JSON文件记录并拆分发送至REST API?

当然可以实现逐条发送!

完全没问题——你既可以把JSON里的记录存入列表,也能轻松实现逐条读取并单独发送到REST API,不用一次性发整个payload。下面我分步骤给你讲清楚拆分和发送的方法:

第一步:解析JSON,提取记录列表

你的JSON结构里,所有需要发送的记录都存在外层的"records"数组里。不管用什么语言,第一步都是先读取JSON文件,然后把这个数组提取出来,存成一个列表(数组)。

举个Python的例子:

import json

# 读取本地JSON文件
with open("your_data.json", "r", encoding="utf-8") as file:
    json_data = json.load(file)

# 提取记录列表,现在records就是包含所有单条记录的列表
records_list = json_data["records"]

如果用JavaScript(Node.js环境),代码是这样:

const fs = require("fs");

// 读取并解析JSON文件
const jsonData = JSON.parse(fs.readFileSync("your_data.json", "utf8"));
const recordsList = jsonData.records;

第二步:逐条遍历列表,发送单条记录到API

拿到记录列表后,只需要循环遍历每一条记录,把单个记录作为请求的payload发送给你的REST API就好。

Python 示例(用requests库)

import requests

# 替换成你的API端点地址
api_endpoint = "https://your-api-domain.com/your-target-endpoint"

# 遍历每条记录,单独发送
for record in records_list:
    try:
        # 用POST请求发送单条记录,把record作为JSON payload
        response = requests.post(api_endpoint, json=record)
        # 检查请求是否成功(状态码2xx)
        response.raise_for_status()
        print(f"记录ID {record['_meta']['id']} 发送成功!状态码: {response.status_code}")
    except requests.exceptions.RequestException as e:
        print(f"记录ID {record['_meta']['id']} 发送失败: {str(e)}")

JavaScript 示例(用axios库)

const axios = require("axios");

const apiEndpoint = "https://your-api-domain.com/your-target-endpoint";

// 逐条发送(注意async/await处理异步请求)
async function sendRecords() {
    for (const record of recordsList) {
        try {
            const response = await axios.post(apiEndpoint, record);
            console.log(`记录ID ${record._meta.id} 发送成功!状态码: ${response.status}`);
        } catch (error) {
            console.error(`记录ID ${record._meta.id} 发送失败: ${error.message}`);
        }
    }
}

sendRecords();

一些实用的注意事项

  • 错误处理与重试:如果API偶尔会失败,可以给失败的请求加重试机制(比如用Python的tenacity库,或者自己写循环重试逻辑),避免丢失数据。
  • API认证:如果你的API需要认证(比如Token),记得在请求头里加上认证信息,比如Python里加headers={"Authorization": "Bearer your-token"}。
  • 速率限制:如果API有调用频率限制,记得在请求之间加延迟(比如Python里用time.sleep(1)让每个请求间隔1秒),避免被限流。
  • 日志记录:可以把发送结果写入日志文件,方便后续排查问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:39:18