首先你应该更新你的 json,格式错误,接下来你可以使用这个模块进行 convert json to csv。
var jsonToCsv = require('convert-json-to-csv');
var inputJson = [{ "country": "Germany", "os": "Windows 7", "from_mobile": false, "base_browser": "Chrome", "domain": "furnitureshop4u-2.myshopify.com", "browser": "Chrome 76.0.3809", "repeat": true, "location": "Meinerzhagen - North Rhine-Westphalia, Germany", "base_os": "Windows" }, { "country": "Germany", "os": "Windows 7", "from_mobile": false, "base_browser": "Chrome", "domain": "furnitureshop4u-2.myshopify.com", "browser": "Chrome 76.0.3809", "repeat": true, "location": "Meinerzhagen - North Rhine-Westphalia, Germany", "base_os": "Windows" }, { "country": "Germany", "os": "Windows 7", "from_mobile": false, "base_browser": "Chrome", "domain": "furnitureshop4u-2.myshopify.com", "browser": "Chrome 76.0.3809", "repeat": true, "location": "Meinerzhagen - North Rhine-Westphalia, Germany", "base_os": "Windows" }]
var columnDefinitionArray = ['country', 'os', 'from_mobile', 'base_browser', 'domain', 'browser', 'repeat', 'location', 'base_os'];
var arrayOfObjectsCsv = jsonToCsv.convertArrayOfObjects(inputJson, columnDefinitionArray);
console.log(arrayOfObjectsCsv);
并且不使用模块:
var inputJson = [{ "country": "Germany", "os": "Windows 7", "from_mobile": false, "base_browser": "Chrome", "domain": "furnitureshop4u-2.myshopify.com", "browser": "Chrome 76.0.3809", "repeat": true, "location": "Meinerzhagen - North Rhine-Westphalia, Germany", "base_os": "Windows" }, { "country": "Germany", "os": "Windows 7", "from_mobile": false, "base_browser": "Chrome", "domain": "furnitureshop4u-2.myshopify.com", "browser": "Chrome 76.0.3809", "repeat": true, "location": "Meinerzhagen - North Rhine-Westphalia, Germany", "base_os": "Windows" }, { "country": "Germany", "os": "Windows 7", "from_mobile": false, "base_browser": "Chrome", "domain": "furnitureshop4u-2.myshopify.com", "browser": "Chrome 76.0.3809", "repeat": true, "location": "Meinerzhagen - North Rhine-Westphalia, Germany", "base_os": "Windows" }]
console.log(convert(inputJson))
function convert(json) {
if(json == '')
return;
var largestEntry = 0;
var header;
for(var i=0; i<json.length; i++){
if (!Object.keys) {
Object.keys = function(obj) {
var keys = [];
for (var i in obj) {
if (obj.hasOwnProperty(i)) {
keys.push(i);
}
}
return keys;
};
}
if(Object.keys(json[i]).length > largestEntry){
largestEntry = Object.keys(json[i]).length;
header = Object.keys(json[i]);
}
};
// Assemble the header
var convertedjson = "";
if (typeof Array.prototype.forEach != 'function') {
Array.prototype.forEach = function(callback){
for (var i = 0; i < this.length; i++){
callback.apply(this, [this[i], i, this]);
}
};
}
header.forEach(function(heading){
if(convertedjson != "") {
convertedjson += ",";
}
convertedjson += "\"";
convertedjson += heading
convertedjson += "\"";
});
convertedjson += "\r\n";
// Iterate through the header for all elements
json.forEach(function(entry){
header.forEach(function(heading){
convertedjson += "\"";
convertedjson += (entry[heading] || "");
convertedjson += "\"";
convertedjson += ",";
});
convertedjson = convertedjson.substring(0, convertedjson.length - 1);
convertedjson += "\r\n";
});
return convertedjson;
}