最简单的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 相关文章推荐
jquery tools 系列 scrollable(2)
Sep 06 Javascript
浅析jQuery对select操作小结(遍历option,操作option)
Jul 04 Javascript
jquery复选框checkbox实现删除前判断
Apr 20 Javascript
一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
Jun 26 Javascript
javascript中callee与caller的区别分析
Apr 20 Javascript
JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
Oct 10 Javascript
JS数组合并push与concat区别分析
Dec 17 Javascript
jquery mobile开发常见问题分析
Jan 21 Javascript
基于Bootstrap使用jQuery实现简单可编辑表格
May 04 Javascript
jQuery实现最简单的切换图效果【可兼容IE6、火狐、谷歌、opera等】
Sep 04 Javascript
Bootstrap简单表单显示学习笔记
Nov 15 Javascript
详解AngularJS用Interceptors来统一处理HTTP请求和响应
Jun 08 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
ThinkPHP3.1新特性之字段合法性检测详解
2014/06/19 PHP
php堆排序实现原理与应用方法
2015/01/03 PHP
Laravel框架中实现使用阿里云ACE缓存服务
2015/02/10 PHP
php查询mysql大量数据造成内存不足的解决方法
2015/03/04 PHP
PHP设计模式(一)工厂模式Factory实例详解【创建型】
2020/05/02 PHP
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
教你如何解密js/vbs/vbscript加密的编码异处理小结
2008/06/25 Javascript
js中的setInterval和setTimeout使用实例
2014/05/09 Javascript
javascript内置对象操作详解
2015/02/04 Javascript
Angularjs中如何使用filterFilter函数过滤
2016/02/06 Javascript
阿里云ecs服务器中安装部署node.js的步骤
2016/10/08 Javascript
微信小程序之MaterialDesign--input组件详解
2017/02/15 Javascript
jquery ui sortable拖拽后保存位置
2017/04/27 jQuery
详解vue-cli开发环境跨域问题解决方案
2017/06/06 Javascript
Angular4开发解决跨域问题详解
2017/08/28 Javascript
javaScript动态添加Li元素的实例
2018/02/24 Javascript
详解VUE中常用的几种import(模块、文件)引入方式
2018/07/03 Javascript
p5.js实现动态图形临摹
2019/10/23 Javascript
ES5新增数组的实现方法
2020/05/12 Javascript
[13:39]2014 DOTA2华西杯精英邀请赛 5 25 NewBee VS DK第一场
2014/05/26 DOTA
Python中的sort()方法使用基础教程
2017/01/08 Python
Python语言检测模块langid和langdetect的使用实例
2019/02/19 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
零基础学Python之前需要学c语言吗
2020/07/21 Python
详解移动端html5页面长按实现高亮全选文本内容的兼容解决方案
2016/12/03 HTML / CSS
非洲NO.1网上商店:Jumia肯尼亚
2016/08/18 全球购物
英国拳击装备购物网站:RDX Sports
2018/01/23 全球购物
英国现代、当代和设计师家具店:Furntastic
2020/07/18 全球购物
用你熟悉的语言写一个连接ORACLE数据库的程序,能够完成修改和查询工作
2012/06/11 面试题
涉外经济法专业毕业生推荐信
2013/11/24 职场文书
教师个人剖析材料
2014/02/05 职场文书
怎样写离婚协议书
2015/01/26 职场文书
关于践行三严三实的心得体会
2016/01/05 职场文书
幼儿园2016年圣诞活动总结
2016/03/31 职场文书
将Python代码打包成.exe可执行文件的完整步骤
2021/05/12 Python
MySQL 分区表中分区键为什么必须是主键的一部分
2022/03/17 MySQL