【发布时间】:2018-01-11 18:25:47
【问题描述】:
我已经使用 JavaScript 将 JSON 转换为 CSV,但是以一种奇怪的方式,我没有看到标题被传输到 CSV 文件。我只看到相应的值。
下面是
的例子1) JSON ....
[
{
"entityid": 2,
"personid": 45676
}
]
2) JavaScript 代码 ....
function DownloadJSON2CSV(objArray)
{
alert(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] + ',';
if (line != '') line += ','
line += array[i][index];
}
alert(line);
// 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';
}
alert(str);
window.open( "data:text/csv;charset=utf-8," + escape(str))
}
3) CSV 输出 ....
2,45676
我应该在文档第一行的 CSV 中看到密钥 - entityid 和 personid,但我没有。
【问题讨论】:
-
代码的哪一部分负责将属性键包含到字符串中?
-
猜猜这是我缺少键的部分 - entityid, personid -----> for (var index in array[i]) { //line += array[i][索引] + ','; if (line != '') line += ',' line += array[i][index]; }
-
只要您绝对确定您的 JSON 将始终具有平坦且一致的结构,您只需在字符串中添加
index。 -
感谢您的回复。是的,我的 JSON 将是平坦的,里面没有任何对象,但我没有明白你所说的向字符串添加索引的意思。能详细点吗?
标签: javascript json export-to-csv