在NodeJS中将JSON转换为TXT格式

时间:2018-09-12 08:38:36

标签: javascript html json node.js aws-lambda

我们使用方便的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

1 个答案:

答案 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) {
  // ...