将 JavaScript 数组数据转换为 json 文件

Convert JavaScript array data to json file

所以我有这个包含不同链接的数组

const urls = ['myurl.com', 'localhost.com'... etc]

在for循环中我想像这样创建一个对象,它基本上应该为每个URL创建一个新对象,然后将循环的URL传递给userUrl 部分

for(let url of urls) {
    [
       {
         user: 1,
         isVerified: true
         userUrl: url
       }
    ]
}

循环结束后,该数据应该可以在 JSON 文件中读取 它应该看起来像这样

[
  {
    user: 1,
    isVerified: true,
    userUrl: myUrl.com
  },
  {
    user: 2,
    isVerified: true,
    userUrl: localhost.com
  }
  ...etc
]

我在 Chrome 上试过这段代码,它工作正常,而且它现在正确格式化 json 数据,指示 JSON.stringify 使用 4 个空格缩进。

它在代码段中不起作用,但如果您将它保存在您自己的文件中,它就会起作用。我在“源”选项卡的 chrome 开发人员工具中将其作为代码片段执行,一旦执行,下载队列就会收到 json 文件。

我在这里留下了实时片段,因为无论如何都有机会在控制台上看到 json数据。

以编程方式将字符串发送到下载文件的方法受到这个问题的启发:

function download(content, fileName, contentType) {
    var a = document.createElement("a");
    var file = new Blob([content], {type: contentType});
    a.href = URL.createObjectURL(file);
    a.download = fileName;
    a.click();
}

const urls = ['myurl.com', 'localhost.com'];
const data = factory(urls);
const jsonData = JSON.stringify(data,  null, 4);
console.log(jsonData);
download(jsonData, 'json.txt', 'text/plain');

function factory(urls){
  const output = [];
  for(let url of urls) {
    output.push({
      user: 1,
      isVerified: true,
      userUrl: url
    });
  }
  return output;
}