json2csv

用于日常数据提取的小代码

#使用cat命令、jq工具提取数据
cat result.json |iconv -f GBK |jq.exe .data.list |jq.exe ".[]|{user_name,full_name,type,user_valid_time,create_time}" -c

输出:
{"user_name":"xiaom","full_name":"小明","type":1,"user_valid_time":"永久","create_time":"2021-04-01 12:34:53"}
{"user_name":"xiaoz","full_name":"小张","type":1,"user_valid_time":"永久","create_time":"2021-04-01 12:34:53"}



#将输出填入其中,保存为jsonToCSV.html并浏览器打开->点击下载

<!DOCTYPE html>
<html>

<head>
  <meta charset="GBK">
  <title>jsonToCSV</title>
  <button id="name" type="button" onclick="go()">点击下载</button>
</head>

<body>

</body>

</html>
<script type="text/javascript">
  function go() {
    var data = [
{"user_name":"xiaom","full_name":"小明","type":1,"user_valid_time":"永久","create_time":"2021-04-01 12:34:53"}, 
{"user_name":"xiaoz","full_name":"小张","type":1,"user_valid_time":"永久","create_time":"2021-04-01 12:34:53"}


];
    JSONToCSVConvertor(data, "xxx", true);
  }


  function exportToCSV(_csvString) {    
    var downloadLink = document.createElement("a");    
    downloadLink.download = "dataTable.csv";    
    downloadLink.innerHTML = "Download File";    
    if (window.webkitURL != null) {        
      var code = encodeURIComponent(_csvString);        
      if (navigator.appVersion.indexOf("Win") == -1) {            
        downloadLink.href = "data:application/csv;charset=utf-8," + code;        
      } else {            
        downloadLink.href = "data:application/csv;charset=utf-8,%EF%BB%BF" + code;        
      }    
    }     
    downloadLink.click();
  }

  function JSONToCSVConvertor(JSONData, ReportTitle, ShowLabel) {
    //If JSONData is not an object then JSON.parse will parse the JSON string in an Object
    var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;
    var CSV = '';
    if (ShowLabel) {
      var row = "";
      for (var index in arrData[0]) {
        row += index + ',';
      }
      row = row.slice(0, -1);
      CSV += ' ,' + row + '\r\n';
      console.log(CSV);
    }
    for (var i = 0; i < arrData.length; i++) {
      var row = "";
      for (var index in arrData[i]) {
        row += '"' + arrData[i][index] + '",';
      }
      row.slice(0, row.length - 1);
      CSV += ' ,' + row + '\r\n';
    }
    if (CSV == '') {
      alert("Invalid data");
      return;
    }
    return exportToCSV(CSV);
  }
</script>


csv结果:
user_name	full_name	type	user_valid_time	create_time
xiaom	小明	1	永久	2021/4/1 12:34
xiaoz	小张	1	永久	2021/4/1 12:34