欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

最简单的JS实现json转csv的方法

程序员文章站 2022-10-11 08:02:06
工作久了,总会遇到各种各样的数据处理工作,比如同步数据,初始化一些数据,目前比较流行的交互数据格式就是json,可是服务器中得到的json数据如果提供给业务人员看的话可能会...

工作久了,总会遇到各种各样的数据处理工作,比如同步数据,初始化一些数据,目前比较流行的交互数据格式就是json,可是服务器中得到的json数据如果提供给业务人员看的话可能会非常不方便,这时候,转成csv文件,可以方便的被excel工具进行读写。另外就是,json转csv之后,会很容易的同部到数据库中,这样也非常有用,当然,这些软件功能已经被人开发过了,但是网上的多数代码都比较复杂,那些在线的转换工具也有不少,但是考虑数据安全,还是尽量别往任何不相干的网站上传数据,要知道万一敏感数据泄露可能会对自己非常不利。这里放上比较简单的一种实现方式,供大家使用:

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>json to csv</title>
  
  <script type="text/javascript">
  var json3 = { "d": "[{\"id\":1,\"username\":\"sam smith\"},{\"id\":2,\"username\":\"fred frankly\"},{\"id\":1,\"username\":\"zachary zupers\"}]" }

  //var winners = '{}';
  var winnerobject = json.parse(json3);
  
  downloadjson2csv(winnerobject);

  function downloadjson2csv(objarray)
  {
    var array = typeof objarray != 'object' ? json.parse(objarray) : objarray;

    var str = '';

    for (var i = 0; i < array.length; i++) {
      var line = '';

      for (var index in array[i]) {
        line += array[i][index] + ',';
      }

      // 添加双引号
      // for (var index in array[i]) {
      //  line += '"' + array[i][index] + '",';
      // }

      line.slice(0,line.length-1); 

      str += line + '\r';
    }
    window.open( "data:text/csv;charset=utf-8," + str)
  }

  </script>

</head>
<body>
  <h1>this page onvert json to csv...</h1>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。