我正在使用以下代码,但我得到了错误: JSON是undefined.Any线索吗?
<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> 发布于 2013-08-21 10:00:38
在for循环之前添加以下行:
array = array[0].items;基本上,您解析的JSON是一个数组,它包含一个对象,items,它本身就是一个由三个对象组成的数组。你只是没有找到正确的排列。
发布于 2013-08-21 09:47:15
JSON.parse是不存在于过时的浏览器中,最显著的是IE7。您会得到这个错误,因为浏览器没有提供window.JSON。
正因为如此,您使用的是json2.js。但是,github不希望您热链接到文件,因此将其用作text/plain。这导致浏览器不将其解释为脚本,因此它永远不会执行,也不会提供JSON对象。
您需要自己托管json2.js,或者查找和使用CDN。
https://stackoverflow.com/questions/18354037
复制相似问题