once you have your json as text you parse it:
var json = JSON.parse(jsonAsText);
transform it to an array:
json = Object.values(json);
init your result:
var csv = "";
keep header keys somewhere:
var keys = (json[0] && Object.keys(json[0])) || [];
write header row
csv += keys.join(',') + '\n';
iterate and put everything in csv
for (var line of json) {
csv += keys.map(key => line[key]).join(',') + '\n';
}
Your csv content should be ready
var json = {
"1": {
"Nachname": "Stromberg",
"Vorname": "Bernd",
"Benutzername": "strombergbernd12",
"Password": "Xrz5Bv6A"
},
"2": {
"Nachname": "Heisterkamp",
"Vorname": "Ernie",
"Benutzername": "heisterkampernie12",
"Password": "aOq24EpF"
}
}
function toCSV(json) {
json = Object.values(json);
var csv = "";
var keys = (json[0] && Object.keys(json[0])) || [];
csv += keys.join(',') + '\n';
for (var line of json) {
csv += keys.map(key => line[key]).join(',') + '\n';
}
return csv;
}
console.log(toCSV(json));
Note: If you can, switch your json to Array syntax:
[
{
"Nachname":"Stromberg",
"Vorname":"Bernd",
"Benutzername":"strombergbernd12",
"Password":"Xrz5Bv6A"
},
{
"Nachname":"Heisterkamp",
"Vorname":"Ernie",
"Benutzername":"heisterkampernie12",
"Password":"aOq24EpF"
}
]
and then remove this line:
json = Object.values(json);
Object.keys()