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

如何用Node.js读取JSON文件并发起API POST请求?

用Node.js结合外部JSON文件发起API POST请求实现方案

运行环境

  • Ubuntu 22.04
  • Node.js v19.2.0
  • npm 8.19.3

实现逻辑

通过两个文件完成功能:order.json存储订单原始数据,app.js读取该JSON文件,将数据转换为API要求的格式后发起POST请求。具体流程为:

  1. 借助Node.js的fs模块读取同级目录下的order.json文件
  2. 解析JSON数据,将订单条目映射为API所需的order_line格式
  3. 构造完整请求体,添加请求头后发送POST请求至目标API地址

app.js 代码实现

var myHeaders = new Headers();
myHeaders.append("api-key", "123");
myHeaders.append("Content-Type", "text/plain");
myHeaders.append("Cookie", "session_id=123");

// 读取order.json文件
var fs = require('fs')
fs.readFile('order.json', 'utf8', (err, data) => {
    if (err) throw err
    let orders = JSON.parse(data)

    let order_line = orders.map(o => ([0, 0, {
        product_id: +o.product_id,
        product_uom_qty: +o.product_uom_qty,
        price_unit: +o.price_unit
    }]));

    let body = {
        partner_id: 150,
        user_id: 6,
        workflow_id: 1,
        order_line
    }

    let raw = JSON.stringify(body);

    console.log(raw);

    var requestOptions = {
        method: 'POST',
        headers: myHeaders,
        body: raw,
        redirect: 'follow'
    }

    fetch("https://mysite/api/sale.order/create?api_key=123", requestOptions)
        .then(response => response.text())
        .then(result => console.log(result))
        .catch(error => console.log('error', error))
})

order.json 数据示例

[
    {
        "sku": "123",
        "product_id": "6",
        "price_unit": "9.7",
        "product_uom_qty": "1.0000"
    },
    {
        "sku": "456",
        "product_id": "7",
        "price_unit": "9.8",
        "product_uom_qty": "1.0000"
    }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 20:10:26