首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >conversion转换时出错

conversion转换时出错
EN

Stack Overflow用户
提问于 2013-08-21 09:42:53
回答 2查看 189关注 0票数 0

我正在使用以下代码,但我得到了错误: JSON是undefined.Any线索吗?

代码语言:javascript
复制
<html>  

<head>  

    <title>Demo - Covnert JSON to CSV</title>  

    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>  

    <script type="text/javascript" src="https://github.com/douglascrockford/JSON-js/raw/master/json2.js"></script>  



    <script type="text/javascript">  

        // JSON to CSV Converter  

        function ConvertToCSV(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]) {  

                    if (line != '') line += ','  



                    line += array[i][index];  

                }  



                str += line + '\r\n';  

            }  



            return str;  

        }  



        // Example  

        $(document).ready(function () {  



            // Create Object  

            var items = [  

                 {
    "items": [
        {
            "ID": "1",
            "NAME": " John"
        },
        {
             "ID": "2",
            "NAME": " Ashley"
        },
        {
            "ID": "3",
            "NAME": " Joseph"
        }
    ]
}];


            // Convert Object to JSON  

            var jsonObject = JSON.stringify(items);  



            // Display JSON  

            $('#json').text(jsonObject);  



            // Convert JSON to CSV & Display CSV  

            $('#csv').text(ConvertToCSV(jsonObject));  

        });   

    </script>  

</head>  

<body>  

    <h1>  

        JSON</h1>  

    <pre id="json"></pre>  

    <h1>  

        CSV</h1>  

    <pre id="csv"></pre>  



</body>  

</html> 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-21 10:00:38

在for循环之前添加以下行:

代码语言:javascript
复制
array = array[0].items;

基本上,您解析的JSON是一个数组,它包含一个对象,items,它本身就是一个由三个对象组成的数组。你只是没有找到正确的排列。

票数 0
EN

Stack Overflow用户

发布于 2013-08-21 09:47:15

JSON.parse不存在于过时的浏览器中,最显著的是IE7。您会得到这个错误,因为浏览器没有提供window.JSON

正因为如此,您使用的是json2.js。但是,github不希望您热链接到文件,因此将其用作text/plain。这导致浏览器不将其解释为脚本,因此它永远不会执行,也不会提供JSON对象。

您需要自己托管json2.js,或者查找和使用CDN。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18354037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档