Convertir le format JSON en format CSV pour MS Excel [fermé]

j'ai reçu un fichier JSON mais je ne sais pas comment le lire. Y a-t-il un convertisseur où je peux produire un bon fichier CSV pour qu'il puisse être chargé dans MS Excel? Je ne comprends pas JSON, donc ce serait génial si quelqu'un écrivait un script ou me liait à un qui ferait le travail.

j'ai trouvé quelque chose de proche à http://json.bloople.net mais, malheureusement, C'est JSON en HTML.

modifier: jsonformat.com se rapproche encore plus, toujours pas de CSV.

69
demandé sur the Tin Man 2010-11-09 08:44:48

4 réponses

Je ne sais pas ce que vous faites, mais cela passera de JSON à CSV en utilisant JavaScript. Cela utilise le open source bibliothèque JSON , donc il suffit de télécharger JSON.js dans le même dossier que vous avez sauvegardé le code ci-dessous, et il analysera la valeur JSON statique dans json3 dans CSV et vous invitera à télécharger/Ouvrir dans Excel.

<!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 src="scripts/json.js" type="text/javascript"></script>
    <script type="text/javascript">
    var json3 = { "d": "[{\"Id\":1,\"UserName\":\"Sam Smith\"},{\"Id\":2,\"UserName\":\"Fred Frankly\"},{\"Id\":1,\"UserName\":\"Zachary Zupers\"}]" }

    DownloadJSON2CSV(json3.d);

    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] + ',';
            }

            // Here is an example where you would wrap the values in double quotes
            // for (var index in array[i]) {
            //    line += '"' + array[i][index] + '",';
            // }

            line.slice(0,line.Length-1); 

            str += line + '\r\n';
        }
        window.open( "data:text/csv;charset=utf-8," + escape(str))
    }

    </script>

</head>
<body>
    <h1>This page does nothing....</h1>
</body>
</html>
64
répondu Zachary 2012-08-27 16:49:14

j'ai créé un JsFiddle ici basé sur la réponse donnée par Zachary . Il fournit une interface utilisateur plus accessible et échappe également les guillemets doubles dans les chaînes correctement.

62
répondu Joseph Sturtevant 2017-05-23 12:02:25

vous pouvez utiliser ce gist, assez facile à utiliser, stocke vos paramètres dans le stockage local: https://gist.github.com/4533361

1
répondu Palesz 2013-01-15 15:33:13

utiliser Python sera un moyen facile d'atteindre ce que vous voulez.

j'en ai trouvé un en utilisant Google.

" convertir de json en csv en utilisant python " est un exemple.

1
répondu chinuy 2018-09-18 19:19:49