最简单的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 相关文章推荐
MooTools 1.2中的Drag.Move来实现拖放
Sep 15 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
Oct 24 Javascript
jquery与prototype框架的详细对比
Nov 21 Javascript
angularJS 入门基础
Feb 09 Javascript
jQuery中animate动画第二次点击事件没反应
May 07 Javascript
Js的Array数组对象详解
Feb 22 Javascript
基于AngularJs + Bootstrap + AngularStrap相结合实现省市区联动代码
May 30 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
Mar 31 Javascript
Vue分页组件实例代码
Apr 17 Javascript
修改node.js默认的npm安装目录实例
May 15 Javascript
vue中根据时间戳判断对应的时间(今天 昨天 前天)
Dec 20 Javascript
vuex刷新后数据丢失的解决方法
Oct 18 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 session处理的定制
2009/03/16 PHP
Yii2.0表关联查询实例分析
2016/07/18 PHP
PHP 500报错的快速解决方法
2016/12/14 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
goto语法在PHP中的使用教程
2020/09/17 PHP
javascript 点击整页变灰的效果(可做退出效果)。
2008/01/09 Javascript
jQuery 技巧大全(新手入门篇)
2009/05/12 Javascript
Array的push与unshift方法性能比较分析
2011/03/05 Javascript
基于JQuery的多标签实现代码
2012/09/19 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
Javascript实现图片不间断滚动的代码
2016/06/22 Javascript
解决Angular.Js与Django标签冲突的方案
2016/12/20 Javascript
利用ES6语法重构React组件详解
2017/03/02 Javascript
jQuery Ajax前后端使用JSON进行交互示例
2017/03/17 Javascript
详解Vue路由钩子及应用场景(小结)
2017/11/07 Javascript
js判断复选框是否选中的方法示例【基于jQuery】
2019/10/10 jQuery
javascript实现简易数码时钟
2020/03/30 Javascript
Python原始字符串(raw strings)用法实例
2014/10/13 Python
Python数据结构与算法之图结构(Graph)实例分析
2017/09/05 Python
python3 unicode列表转换为中文的实例
2018/10/26 Python
深入解析Python小白学习【操作列表】
2019/03/23 Python
python实现列表中最大最小值输出的示例
2019/07/09 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
详解Anaconda 的安装教程
2020/09/23 Python
浅析HTML5中header标签的用法
2016/06/24 HTML / CSS
canvas如何绘制钟表的方法
2017/12/13 HTML / CSS
什么是java序列化,如何实现java序列化
2012/11/14 面试题
什么是WEB控件?使用WEB控件有哪些优势?
2012/01/21 面试题
艺术节主持词
2014/04/02 职场文书
白岩松演讲
2014/05/21 职场文书
大学生应聘导游自荐信
2014/06/02 职场文书
2014年煤矿工作总结
2014/11/24 职场文书
工程款申请报告
2015/05/15 职场文书
解决Maven项目中 Invalid bound statement 无效的绑定问题
2021/06/15 Java/Android
Java 通过手写分布式雪花SnowFlake生成ID方法详解
2022/04/07 Java/Android
springboot集成redis存对象乱码的问题及解决
2022/06/16 Java/Android