Maison >interface Web >js tutoriel >Utilisez javascript pour télécharger des données json au format csv_javascript skills

Utilisez javascript pour télécharger des données json au format csv_javascript skills

WBOY
WBOYoriginal
2016-05-16 16:21:191448parcourir

Résumé :
Récemment, il existe une petite exigence hors projet, qui consiste à documenter la division du travail dans le développement du projet afin de faciliter la gestion et la maintenance ultérieures. Cependant, lors du développement, les modalités de répartition du travail ont été enregistrées au format json, j'ai donc téléchargé les données json vers le local au format csv.

Code :

Copier le code Le code est le suivant :



télécharger csv

             


          

                                                                                                                                 

Entrer les données JSON


                                                                                                                                                      
                                                                                                                                                                                                                                                                                                                                                                                                                                                       
                                                                                   




télécharger.js

Copier le code

Le code est le suivant :

$(document).ready(function() {
    "utiliser strict";
    var mo = {
        init : fonction() {
            $('.download').click(function() {
                var data = $('#txt').val();
                si (données === '') {
                    revenir ;
                >
                mo.JSONToCSVConvertor(data, true);
            });
        },
        JSONToCSVConvertor : fonction (JSONData, ShowLabel) {
            var arrData = typeof JSONData !== 'objet' ? JSON.parse(JSONData) : JSONData;
            var CSV = '';
            si (ShowLabel) {
                var ligne = "";
                pour (index var dans arrData[0]) {
                    ligne = index ',';
                >
                rangée = rangée.slice(0, -1);
                CSV = ligne 'rn';
            >
            pour (var i = 0; i < arrData.length; i ) {
                var ligne = "";
                pour (index var dans arrData[i]) {
                    var arrValue = arrData[i][index] == null ? "" : '="' arrData[i][index] '"';
                    rangée = arrValue ',';
                >
                rangée.slice(0, rangée.longueur - 1);
                CSV = ligne 'rn';
            >
            si (CSV == '') {
                growl.error("Données invalides");
                revenir ;
            >
            var fileName = "Résultat";
            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();
            } autre {
                var uri = 'data:application/csv;charset=utf-8,' escape(CSV);
                var link = document.createElement("a");
                link.href = uri;
                link.style = "可見度:隱藏";
                link.download = 檔案名稱「.csv」;
                document.body.appendChild(連結);
                link.click();
                document.body.removeChild(link);
            }
        },
        msieversion: function() {
            var ua = window.navigator.userAgent;
            var msie = ua.indexOf("MSIE ");
            if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv:11./)) // 若是 Internet Explorer,則傳回版本編號
            {
                回復為真;
            } else { // 若是其他瀏覽器,
                回復錯誤;
            }
            回復錯誤;
        },
        主要:函數(){
            mo.init();
        }
    };
    mo.main();
});

小結:
  注意json格式[{},{}],檔案名稱是在js中定義的變數檔案名稱。主要問題是他會自動添加一行空行,並且每個元素都會在值前面加個'='。

下載下來的資料格式為:

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn