如何使用papaparse正确地将对象数组转换为CSV?

我正在执行一个mongdb数据库查询下载一个对象的数组,然后我想将其转换为CSV。 我正在使用babyparse这是节点的papaparse替代版本。

这就是我想要的:

  Player.find({}). exec(function(err, players) { console.log(players.length); var csv = papaparse.unparse(players, { quotes: false, delimiter: ',', newline: '\n' }); response.set({'Content-Type': 'application/force-download', 'Content-disposition':'attachment; filename=players.csv'}); response.send(200, csv); }); } 

然而,这不会提供一个正确的CSV文件,但奇怪的是,像csv内容与Java脚本function内容的合并。

我应该怎么做?

使用以下function展平JSON数据

 JSON.flatten = function(data) { var result = {}; function recurse (cur, prop) { if (Object(cur) !== cur) { result[prop] = cur; } else if (Array.isArray(cur)) { for(var i=0, l=cur.length; i<l; i++) if(cur[i].constructor === Object) recurse(cur[i], prop + "[" + i + "]"); else { if(cur.length > 1) { result[prop] = (result[prop] || "") + cur[i] + ";"; } else { result[prop] = cur; } } if (l == 0) result[prop] = []; } else { var isEmpty = true; for (var p in cur) { isEmpty = false; recurse(cur[p], prop ? prop+"."+p : p); } if (isEmpty && prop) result[prop] = {}; } } recurse(data, ""); return result; } 

根据你的情况修改:)