2013-08-21 130 views
0

我正在使用以下代碼,但出現錯誤:JSON是undefined.Any線索?CSV-JSON轉換時出錯

<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> 
+0

你使用什麼瀏覽器? – Eric

+0

您的CSV轉換錯誤,它給出了[對象對象],[對象對象],[對象對象]。看到這裏的工作示例http://jsfiddle.net/sturtevant/vUnF9/ – Anand

回答

0

之前的for循環中添加以下行:

array = array[0].items; 

基本上你解析的JSON是包含一個對象,項目,它本身就是三個對象的數組的數組。你只是沒有得到正確的數組。

0

JSON.parsenot present in outdated browsers,最值得注意的是,IE7。你收到這個錯誤是因爲瀏覽器沒有提供給你window.JSON。因此,您正在使用json2.js。然而,github確實需要而不是要求你鏈接到文件,因此可以將其作爲text/plain。這會導致瀏覽器不將其解釋爲腳本,因此它永遠不會執行,並且不提供任何JSON對象。

您需要自己託管json2.js,或找到並使用CDN。

+0

這不就是爲什麼OP包含了Crockford的json2.js? – Sirko