最簡單的JS實現json轉csv


  工作久了,總會遇到各種各樣的數據處理工作,比如同步數據,初始化一些數據,目前比較流行的交互數據格式就是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>

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM