正在尝试使用json2csv库将JSON数据转换为CSV,使用CDN时,它说不需要定义,我该怎么做?

66bbxpm5  于 2022-12-05  发布在  其他
关注(0)|答案(1)|浏览(191)

我正在尝试使用json2csv库将我的API JSON数据转换为CSV并下载文件。下面是我获取数据的代码,但我一直没有定义require。我在浏览器中使用html和JS文件进行此操作。不知道还可以如何进行此操作,也不知道如何让最后一部分越过终点线。
`

let json2csv = require("json2csv");

async function fetchDogApiResult (apiPath) {
    const response = await fetch(`https://dog.ceo/api/${apiPath}`);
    if (!response.ok) throw new Error(`Response not OK (${response.status})`);
    const data = await response.json();
    if (data.status !== 'success') throw new Error('Response not successful');
    return data.message;
  }
  
  async function fetchBreeds () {
    return fetchDogApiResult('breeds/list/all');
  }
  
  async function fetchSubBreeds (breed) {
    return fetchDogApiResult(`breed/${breed}/list`);
  }
  
  async function fetchImages (breed, subBreed) {
    return fetchDogApiResult(`breed/${breed}${subBreed ? `/${subBreed}` : ''}/images`);
  }
  
  async function fetchDogInfo () {
    const breeds = await fetchBreeds();
    return Promise.all(Object.entries(breeds).map(async ([breed, subBreeds]) => ({
      breed,
      subBreeds,
      images: (await fetchImages(breed)).map(url => ({url})),
    })));
  }
  
  (async () => {
    const dogInfo = await fetchDogInfo();
    let dogInfoJSON = JSON.stringify(dogInfo);
    console.log(dogInfoJSON);
  })();

`
我已经尝试了许多不同的方法来做到这一点,但大多数的解决方案利用同步功能。我不确定是否我的方式拉API数据是阻止我转换为CSV或如果我只是迷失在下一步,以获得这到CSV文件和下载。我觉得我错过了一些简单的。感谢任何帮助

3mpgtkmj

3mpgtkmj1#

请尝试在html文件的头中包含json2csv的脚本标记。

<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/json2csv/5.0.4/json2csv.umd.min.js" integrity="sha512-x8F95afv1QNG9xClBWCQ06gmRJY2EtPjqNKWyS+X2haMK+at6xmcFPTqlVrVNLtL0DV3pSzXGbsRBAHHZd/2Xg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
</head>

<body>
<your script>
</body>
</html>

相关问题