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


Posted in Javascript onJanuary 10, 2019

工作久了,总会遇到各种各样的数据处理工作,比如同步数据,初始化一些数据,目前比较流行的交互数据格式就是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>

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

Javascript 相关文章推荐
取得传值的函数
Oct 27 Javascript
JavaScript 快捷键设置实现代码
Mar 13 Javascript
JS遮罩层效果 兼容ie firefox jQuery遮罩层
Jul 26 Javascript
原生JavaScript实现连连看游戏(附源码)
Nov 05 Javascript
简介JavaScript中的sub()方法的使用
Jun 08 Javascript
javascript学习小结之prototype
Dec 03 Javascript
深入理解vue.js双向绑定的实现原理
Dec 05 Javascript
JS定时器实现数值从0到10来回变化
Dec 09 Javascript
浅谈struts1 &amp; jquery form 文件异步上传
May 25 jQuery
详解JS数值Number类型
Feb 07 Javascript
微信小程序实现登录注册tab切换效果
Dec 29 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
Sep 21 Javascript
puppeteer实现html截图的示例代码
Jan 10 #Javascript
其实你可以少写点if else与switch(推荐)
Jan 10 #Javascript
微信小程序提取公用函数到util.js及使用方法示例
Jan 10 #Javascript
浅谈JavaScript 代码简洁之道
Jan 09 #Javascript
react组件从搭建脚手架到在npm发布的步骤实现
Jan 09 #Javascript
微信小程序公用参数与公用方法用法示例
Jan 09 #Javascript
微信小程序实现的日期午别医生排班表功能示例
Jan 09 #Javascript
You might like
codeigniter框架批量插入数据
2014/01/09 PHP
php实现计数器方法小结
2015/01/05 PHP
php导入模块文件分享
2015/03/17 PHP
PHP正则表达式之捕获组与非捕获组
2015/11/06 PHP
Yii框架上传图片用法总结
2016/03/28 PHP
javascript XML数据显示为HTML一例
2008/12/23 Javascript
使表格的标题列可左右拉伸jquery插件封装
2014/11/24 Javascript
浅谈JavaScript function函数种类
2014/12/29 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
2016/08/10 Javascript
D3.js封装文本实现自动换行和旋转平移等功能
2016/10/14 Javascript
BootStrap的两种模态框方式
2017/05/10 Javascript
React-Native左右联动List的示例代码
2017/09/21 Javascript
vue实现图片加载完成前的loading组件方法
2018/02/05 Javascript
微信小程序使用wxParse解析html的方法教程
2018/07/06 Javascript
详解基于vue-cli3.0如何构建功能完善的前端架子
2018/10/09 Javascript
使用jQuery如何写一个含验证码的登录界面
2019/05/13 jQuery
微信小程序绑定手机号获取验证码功能
2019/10/22 Javascript
[14:20]刀塔大凶女神互压各路奇葩屌丝
2014/05/16 DOTA
Python enumerate遍历数组示例应用
2008/09/06 Python
Python爬虫模拟登录带验证码网站
2016/01/22 Python
详解python的ORM中Pony用法
2018/02/09 Python
基于python requests库中的代理实例讲解
2018/05/07 Python
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
2018/12/03 Python
django框架防止XSS注入的方法分析
2019/06/21 Python
Django框架基础模板标签与filter使用方法详解
2019/07/23 Python
在Python中用GDAL实现矢量对栅格的切割实例
2020/03/11 Python
Sisley法国希思黎美国官方网站:享誉全球的奢华植物美容品牌
2020/06/27 全球购物
C#笔试题集合
2013/06/21 面试题
方正Java笔试题
2014/07/03 面试题
施工安全协议书
2013/12/11 职场文书
法务专员岗位职责
2014/01/02 职场文书
音乐教学反思
2014/02/02 职场文书
毕业寄语大全
2014/04/09 职场文书
考试作弊被抓检讨书
2014/10/02 职场文书
遗失说明具结保证书
2015/02/26 职场文书
学校运动会感想
2015/08/10 职场文书