我们使用方便的JSON
模块gsjson将Google表格数据转换为JSON。我需要获取一张以TXT格式列出的网址列表。
我尝试更改扩展名,但它只是以JSON格式输出。如何将其转换为纯文本列表(不包括标题),逐行列出URL?
// Create JSON file from Google Sheet and place in tmp
gsjson({
spreadsheetId: sheetid ,
credentials: 'mycreds.json'
})
.then(function(result) {
result = JSON.stringify(result);
fs.writeFile("/tmp/" + company +".json", result, 'utf-8', function (err) {
if (err) console.log('Google Sheet written to tmp JSON - FAILED'); // an error occurred
else console.log('Google Sheet written to tmp JSON - SUCCESS'); // successful response
});
当前JSON输出
[{"url":"https://example.com"},{"url":"https://examples.com"}]
所需的TXT输出
https://example.com
https://examples.com
答案 0 :(得分:2)
您不想stringify
,它将转换为JSON格式,这对于您要查找的内容没有任何意义。如果只想从数组的每个项目中获取url
属性,请使用.map
提取每个属性,然后通过换行符进行连接:
// ...
.then(function(result) {
const textToWrite = result.map(({ url }) => url).join('\n');
fs.writeFile("/tmp/" + company +".json", textToWrite, 'utf-8', function (err) {
// ...