将MSSON的JSON格式转换为CSV格式

时间:2010-11-09 05:44:49

标签: json

我收到了一个JSON文件,但不知道如何阅读它。是否有转换器,我可以生成一个漂亮的CSV文件,以便它可以加载到MS Excel?我不懂JSON,所以如果有人写了一个脚本或将我链接到一个可以完成这项工作的脚本,那就太棒了。

我在http://json.bloople.net发现了一些内容,但不幸的是,它是HTML的JSON。

编辑:jsonformat.com更接近,但它仍然不是CSV。

4 个答案:

答案 0 :(得分:65)

我不确定你在做什么,但是这将使用JavaScript从JSON转到CSV。这是使用open source JSON library,所以只需将JSON.js下载到保存下面代码的同一文件夹中,它会将json3中的静态JSON值解析为CSV并提示您下载/打开在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>

答案 1 :(得分:63)

我基于here创建了一个JsFiddle the answer given by Zachary。它提供了一个更易于访问的用户界面,并且还可以正确地转义字符串中的双引号。

答案 2 :(得分:1)

使用Python将是实现您想要的一种简单方法。

我找到一个使用谷歌。

convert from json to csv using python”就是一个例子。

答案 3 :(得分:1)

您可以使用该gist,非常易于使用,将您的设置存储在本地存储中:https://gist.github.com/4533361