最簡單的JS實現json轉csv
阿新 • • 發佈:2019-01-10
工作久了,總會遇到各種各樣的資料處理工作,比如同步資料,初始化一些資料,目前比較流行的互動資料格式就是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>