最简单的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 相关文章推荐
IE6,IE7,IE8下使用Javascript记录光标选中范围(已补全)
Aug 28 Javascript
jQuery的控件及事件(输入控件及回车事件)使用示例
Jul 25 Javascript
jquery 利用show和hidden实现级联菜单示例代码
Aug 09 Javascript
jquery选择器之内容过滤选择器详解
Jan 27 Javascript
AngularJS 指令详细介绍
Jul 27 Javascript
JavaScript中日期函数的相关操作知识
Aug 03 Javascript
原生js实现弹出层登录拖拽功能
Dec 05 Javascript
微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)
Jan 12 Javascript
Vue.js 2.0学习教程之从基础到组件详解
Apr 24 Javascript
使用express+multer实现node中的图片上传功能
Feb 02 Javascript
深入解读Node.js中的koa源码
Jun 17 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
Aug 10 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
星际争霸教主Flash的ID由来:你永远不会知道他之前的ID是www!
2019/01/18 星际争霸
PHP中GET变量的使用
2006/10/09 PHP
一个程序下载的管理程序(四)
2006/10/09 PHP
php读取数据库信息的几种方法
2008/05/24 PHP
Discuz!下Memcache缓存实现方法
2010/05/28 PHP
php 目录与文件处理-郑阿奇(续)
2011/07/04 PHP
CI框架在CLI下执行占用内存过大问题的解决方法
2014/06/17 PHP
屏蔽PHP默认设置中的Notice警告的方法
2016/05/20 PHP
JavaScript多线程的实现方法
2007/05/08 Javascript
禁止选中文字兼容IE、Chrome、FF等
2013/09/04 Javascript
解析页面加载与js函数的执行 onload or ready
2013/12/12 Javascript
JavaScript面向对象编程入门教程
2014/04/16 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
2015/08/15 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
2016/05/20 Javascript
D3.js实现柱状图的方法详解
2016/09/21 Javascript
如何实现json数据可视化详解
2016/11/24 Javascript
jQuery实现Select下拉列表进行状态选择功能
2017/03/30 jQuery
详解JS数值Number类型
2018/02/07 Javascript
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
vue项目webpack中Npm传递参数配置不同域名接口
2018/06/15 Javascript
puppeteer库入门初探
2019/01/09 Javascript
[01:07:53]RNG vs VG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
pytorch加载自定义网络权重的实现
2020/01/07 Python
Python调用C/C++的方法解析
2020/08/05 Python
html5教程制作简单画板代码分享
2013/12/04 HTML / CSS
美国电力供应商店/电气批发商:USESI
2018/10/12 全球购物
来自南加州灵感的工作和娱乐服装:TravisMathew
2019/05/01 全球购物
Linux如何为某个操作添加别名
2015/02/05 面试题
夜大自我鉴定
2013/10/31 职场文书
仓库门卫岗位职责
2013/12/22 职场文书
财务会计专业求职信范文
2013/12/31 职场文书
校三好学生主要事迹
2014/01/11 职场文书
小学班级特色活动方案
2014/08/31 职场文书
2015年重阳节慰问信
2015/03/23 职场文书
TensorFlow的自动求导原理分析
2021/05/26 Python
分析Java中Map的遍历性能问题
2021/06/26 Java/Android