我一直想做的是发出 GET
请求,然后操作变量中的 JSON 数据存储,然后发出 PUT
请求。似乎找不到这方面的文档。也许我在思考这个问题是错误的。一旦我有了变量,我想做如下的事情。我已将 GET
请求中的所有数据保存到 outputV3.json
文件中。
var outputJson = fs.readFileSync("outputV3.JSON");
outputJson = JSON.parse(outputJson);
(function () {
for (let i = 0; i < outputJson.objects.length; i++) {
let postId = outputJson.objects[i].id.toString();
let newSlug = outputJson.objects[i].slug.replace("blog/", "");
let urlToPut = "https://api.hubapi.com/content/api/v2/blog-posts?limit=1000&hapikey=" + process.env.HAPIKEY;
urlToPut = urlToPut.replace("blogPostId", postId);
let put_data = JSON.stringify({
"slug": newSlug
});
put_data.put(urlToPut);
}
});
最佳答案
如果您需要将数据从文件流式传输到请求,则应创建 read stream从文件和 pipe到达目的地:
const dataStream = fs.createReadStream('outputV3.JSON');
const options = {
hostname: 'www.example.com',
port: 80,
path: '/destination',
method: 'PUT',
headers: {
'Content-Type': 'application/json',
}
};
const req = http.request(options, (res) => {
// response processing...
});
dataStream.pipe(req);
如果您需要更高级的流式处理逻辑,您应该考虑放置自定义 Transform可读文件流和可写请求流之间的流。
关于node.js - 将数据从变量流式传输到 PUT 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46758454/