最简单的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 相关文章推荐
JAVASCRIPT keycode总结
Feb 04 Javascript
ImageZoom 图片放大镜效果(多功能扩展篇)
Apr 14 Javascript
TypeScript具有的几个不同特质
Apr 07 Javascript
JQuery显示、隐藏div的几种方法简明总结
Apr 16 Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
Jan 22 Javascript
Jquery attr()方法 属性赋值和属性获取详解
Apr 15 Javascript
JS实现类似百叶窗下拉菜单效果
Dec 30 Javascript
JS Testing Properties 判断属性是否在对象里的方法
Oct 01 Javascript
微信小程序实现图片上传功能
May 28 Javascript
监控微信小程序中的慢HTTP请求过程详解
Jul 05 Javascript
在Vue.js中使用TypeScript的方法
Mar 19 Javascript
在react中使用vue的状态管理的方法示例
May 02 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
基于PHP+MySQL的聊天室设计
2006/10/09 PHP
Thinkphp的volist标签嵌套循环使用教程
2014/07/08 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
2016/11/25 PHP
php curl获取到json对象并转成数组array的方法
2018/05/31 PHP
javascript 数组的方法集合
2008/06/05 Javascript
ExtJS 简介 让你知道extjs是什么
2008/12/29 Javascript
juqery 学习之三 选择器 可见性 元素属性
2010/11/25 Javascript
基于jquery实现一张图片点击鼠标放大再点缩小
2013/09/29 Javascript
原生js编写设为首页兼容ie、火狐和谷歌
2014/06/05 Javascript
jQuery手机浏览器中拖拽动作的艰难性分析
2015/02/04 Javascript
浅谈$(document)和$(window)的区别
2015/07/15 Javascript
AngularJS 单元测试(一)详解
2016/09/21 Javascript
JavaScript获取键盘按键的键码(参照表)
2017/01/10 Javascript
vue+jquery+lodash实现滑动时顶部悬浮固定效果
2018/04/28 jQuery
了解在JavaScript中将值转换为字符串的5种方法
2019/06/06 Javascript
JavaScript实现旋转木马轮播图
2020/03/16 Javascript
详解Python中的正则表达式的用法
2015/04/09 Python
python压缩文件夹内所有文件为zip文件的方法
2015/06/20 Python
说一说Python logging
2016/04/15 Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
2017/11/08 Python
python实现简易云音乐播放器
2018/01/04 Python
对python中dict和json的区别详解
2018/12/18 Python
Python面向对象之类和实例用法分析
2019/06/08 Python
python删除文件夹下相同文件和无法打开的图片
2019/07/16 Python
wxPython+Matplotlib绘制折线图表
2019/11/19 Python
使用CSS3来匹配横屏竖屏的简单方法
2015/08/04 HTML / CSS
英国第二大营养品供应商:Vitabiotics
2016/10/01 全球购物
Hawes & Curtis官网:英国经典品牌
2019/07/27 全球购物
澳大利亚最大的在线美发和美容零售商之一:My Hair Care & Beauty
2019/08/24 全球购物
大学生毕业自我鉴定范文
2013/09/19 职场文书
出纳会计岗位职责
2014/03/12 职场文书
学校政风行风评议心得体会
2014/10/21 职场文书
普通党员群众路线教育实践活动心得体会
2014/11/04 职场文书
2015年幼儿园新年寄语
2014/12/08 职场文书
2016教师政治学习心得体会
2016/01/23 职场文书
WebRTC记录音视频流(web技术分享)
2022/02/24 Javascript