Heim  >  Artikel  >  Web-Frontend  >  Verwenden Sie Javascript, um JSON-Daten im CSV-Format herunterzuladen. Javascript-Kenntnisse

Verwenden Sie Javascript, um JSON-Daten im CSV-Format herunterzuladen. Javascript-Kenntnisse

WBOY
WBOYOriginal
2016-05-16 16:21:191422Durchsuche

Zusammenfassung:
In letzter Zeit gibt es eine kleine nicht projektbezogene Anforderung, die darin besteht, die Arbeitsteilung in der Projektentwicklung zu dokumentieren, um späteres Management und Wartung zu erleichtern. Während der Entwicklung wurden die Arbeitsteilungsvereinbarungen jedoch im JSON-Format aufgezeichnet, sodass ich die JSON-Daten im CSV-Format auf die lokale Datei heruntergeladen habe.

Code:

Code kopieren Der Code lautet wie folgt:



CSV herunterladen

             


          

                                                                                                                          

Geben Sie JSON-Daten ein


                                                                                                                                                    
                                                                                                                                                                                                                                                                                                                                                                                                                                     
                                                                                     




download.js

Code kopieren

Der Code lautet wie folgt:

$(document).ready(function() {
    „strikt verwenden“;
    var mo = {
        init: function() {
            $('.download').click(function() {
                var data = $('#txt').val();
                if (data === '') {
                    zurück;
                }
                mo.JSONToCSVConvertor(data, true);
            });
        },
        JSONToCSVConvertor: function(JSONData, ShowLabel) {
            var arrData = typeof JSONData !== 'object' ? JSON.parse(JSONData) : JSONData;
            var CSV = '';
            if (ShowLabel) {
                var row = "";
                for (var index in arrData[0]) {
                    Zeile = Index ',';
                }
                row = row.slice(0, -1);
                CSV = Zeile 'rn';
            }
            for (var i = 0; i < arrData.length; i ) {
                var row = "";
                for (var index in arrData[i]) {
                    var arrValue = arrData[i][index] == null ? "" : '="' arrData[i][index] '"';
                    row = arrValue ',';
                }
                row.slice(0, row.length - 1);
                CSV = Zeile 'rn';
            }
            if (CSV == '') {
                growl.error("Ungültige Daten");
                zurück;
            }
            var fileName = "Ergebnis";
            if (mo.msieversion()) {
                var IEwindow = window.open();
                IEwindow.document.write('sep=,rn' CSV);
                IEwindow.document.close();
                IEwindow.document.execCommand('SaveAs', true, fileName ".csv");
                IEwindow.close();
            } sonst {
                var uri = 'data:application/csv;charset=utf-8,' escape(CSV);
                var lien = document.createElement("a");
                lien.href = uri;
                link.style = "visibilité: caché";
                link.download = fileName ".csv";
                document.body.appendChild(lien);
                lien.click();
                document.body.removeChild(lien);
            >
        },
        msieversion : fonction() {
            var ua = window.navigator.userAgent;
            var msie = ua.indexOf("MSIE ");
            if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv:11./)) // Si Internet Explorer, renvoie le numéro de version
            {
                renvoie vrai ;
            } else { // Si un autre navigateur,
                retourner faux ;
            >
            retourner faux ;
        },
        principal : fonction() {
            mo.init();
        >
    };
    mo.main();
});

小结:
  注意json格式[{},{}],文件名是在js中定义的变量fileName。主要问题是他会自动添加一行空行,且每个元素都会在值前面加个'='。

下载下来的数据格式为:

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn