Node.js 将数据从变量流到PUT请求
我一直想做的是发出Node.js 将数据从变量流到PUT请求,node.js,stream,Node.js,Stream,我一直想做的是发出GET请求,然后操作变量中的JSON数据存储,然后发出PUT请求。似乎找不到这方面的文档。也许我想得不对。一旦我有了变量,我想做如下的事情。我将GET请求中的所有数据保存到outputV3.json文件中 var outputJson = fs.readFileSync("outputV3.JSON"); outputJson = JSON.parse(outputJson); (function () { for (let i = 0; i < outputJso
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);
}
});
var outputJson=fs.readFileSync(“outputV3.JSON”);
outputJson=JSON.parse(outputJson);
(功能(){
for(设i=0;i
如果您需要将数据从一个文件传输到另一个请求,您应该从该文件创建数据流,并将其传输到目标:
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);
如果您需要更高级的流式逻辑,您应该考虑在可读文件流和可写请求流之间放置自定义流。
< P>如果我想使用请求约定,我可以做一些类似于的事情吗?let options = {
uri: 'https://api.hubapi.com/content/api/v2/blog-posts?limit=1000&hapikey=' + process.env.HAPIKEY,
method: 'GET'
transform: function (body, response) {
return for(var i=0; i<outputJson.objects.length; i++) {
var postId = outputJson.objects[i].id.toString();
var newSlug = outputJson.objects[i].slug.replace("blog/","");
}
};
rp(options)
.then(function(removedSlug) {
.pipe(request.put('https://api.hubapi.com/content/api/v2/blog-
posts/blogPostId?hapikey=' + process.env.HAPIKEY))
});
let选项={
uri:'https://api.hubapi.com/content/api/v2/blog-posts?limit=1000&hapikey=“+process.env.HAPIKEY,
方法:“获取”
转换:功能(身体、反应){
回报(VAR i=0;IHI @ James Zich。如果这个或任何其他答案已经解决了你的问题,请通过点击复选标记来考虑。这向更广泛的社区表明,你已经找到了解决方案并给回答者和你自己带来了一些声誉。没有义务这样做,但是,我注意到在整个帖子历史中,你是这样的。他们根本不做任何回答,这不是他们的运作方式。