从 url 中获取 json 数据并写入文件
Fetch json data from url and write in a file
我正在尝试从 Url 中获取 Json 数据,然后将数据写入 Json 文件。
这是我的代码:
let jsondata;
fetch('www....')
.then(function(u){
return u.json();
})
.then(function(json) {
jsondata = json;
});
const fs = require('fs');
// write JSON string to a file
fs.writeFile('test.json', JSON.stringify(jsondata), (err) => {
if (err) {
throw err;
}
console.log("JSON data is saved.");
});
但是我遇到了这个错误,因为我想在我的文件中写入的数据在我使用 JSON.stringify 时似乎有一个无效参数。有人有想法吗?
非常感谢您的帮助!
TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be of type
string or an instance of Buffer, TypedArray, or DataView. Received
undefined
你可以通过async/await
获取一个抓取结果。 writeFile
获取到结果后调用
async function write(){
let jsondata;
const response = await fetch('www....');
jsondata = await response.json();
const fs = require('fs');
// write JSON string to a file
fs.writeFile('test.json', JSON.stringify(jsondata), (err) => {
if (err) {
throw err;
}
console.log("JSON data is saved.");
});
}
jsondata
是一个冗余变量。这是对 fetch().then().then()
的重写,它在第二个 .then()
.
中利用了 fs.writeFile()
我使用 node-fetch
来实现此实现,但它应该也可以在浏览器环境中运行。
fetch('http://somewebsite.null')
.then((response) => {
return response.json();
})
.then((json) => {
fs.writeFile('./test.json', JSON.stringify(json), (err) => {
if (err) {
throw new Error('Something went wrong.')
}
console.log('JSON written to file. Contents:');
console.log(fs.readFileSync('test.json', 'utf-8'))
})
})
我正在尝试从 Url 中获取 Json 数据,然后将数据写入 Json 文件。 这是我的代码:
let jsondata;
fetch('www....')
.then(function(u){
return u.json();
})
.then(function(json) {
jsondata = json;
});
const fs = require('fs');
// write JSON string to a file
fs.writeFile('test.json', JSON.stringify(jsondata), (err) => {
if (err) {
throw err;
}
console.log("JSON data is saved.");
});
但是我遇到了这个错误,因为我想在我的文件中写入的数据在我使用 JSON.stringify 时似乎有一个无效参数。有人有想法吗?
非常感谢您的帮助!
TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received undefined
你可以通过async/await
获取一个抓取结果。 writeFile
获取到结果后调用
async function write(){
let jsondata;
const response = await fetch('www....');
jsondata = await response.json();
const fs = require('fs');
// write JSON string to a file
fs.writeFile('test.json', JSON.stringify(jsondata), (err) => {
if (err) {
throw err;
}
console.log("JSON data is saved.");
});
}
jsondata
是一个冗余变量。这是对 fetch().then().then()
的重写,它在第二个 .then()
.
fs.writeFile()
我使用 node-fetch
来实现此实现,但它应该也可以在浏览器环境中运行。
fetch('http://somewebsite.null')
.then((response) => {
return response.json();
})
.then((json) => {
fs.writeFile('./test.json', JSON.stringify(json), (err) => {
if (err) {
throw new Error('Something went wrong.')
}
console.log('JSON written to file. Contents:');
console.log(fs.readFileSync('test.json', 'utf-8'))
})
})