Javascript - JSON File in Array umwandeln?
Wie wandele ich einen JSON Datei in Arrays um. Ich bin dabei einen Graph mit Knoten und Kanten zu erstellen. Da möchte ich die unten genannte JSON Datei benutzen. Als Knoten ist dann der index (KayO, BenBeck usw.) und die Kanten sind dann die skills. Da kommt die Frage wie ich den JSON Datei in Array umwandeln möchte.
So sieht mein aktueller JSON Datei aus.
const persona = {
"KayO": {
firstname: "Kay",
lastname: "Ohran",
Birthdate: "11.09.64",
Hobby: "footbal, tennis",
City: "California",
skills: "java, python, HTML, json",
},
BenBeck: {
firstname: "Ben",
lastname: "Beckamm",
Birthdate: "03.95.87",
Hobby: "football, programming, running",
City: "New York",
skills: "css, ruby, php, training, simulator, java, web, webgl, json",
};
So soll es zum Schluss aussehen:
const persona = {
"KayO": [{
firstname: "Kay",
lastname: "Ohran",
Birthdate: "11.09.64",
Hobby: ["footbal, tennis"],
City: "California",
skills: ["java, python, HTML, json"],
}],
BenBeck: [{
firstname: "Ben",
lastname: "Beckamm",
Birthdate: "03.95.87",
Hobby: ["football, programming, running"],
City: "New York",
skills: ["css, ruby, php, training, simulator, java, web, webgl, json"],
}]};
1 Antwort
Mittels JSON.parse kannst du einen JSON-String in ein JavaScript-Objekt konvertieren.
Beispiel:
const data = '{ "firstname": "Joachim", "age": 33 }';
const person = JSON.parse(data);
console.log(person.firstname);
PS.: Wenn deine JSON-Datei tatsächlich den von dir beschriebenen Inhalt hat, ist sie nicht valid.
So wäre es richtig:
{
"KayO": {
firstname: "Kay",
lastname: "Ohran",
Birthdate: "11.09.64",
Hobby: "footbal, tennis",
City: "California",
skills: "java, python, HTML, json",
},
BenBeck: {
firstname: "Ben",
lastname: "Beckamm",
Birthdate: "03.95.87",
Hobby: "football, programming, running",
City: "New York",
skills: "css, ruby, php, training, simulator, java, web, webgl, json",
}
}
Wobei es schöner (und konsistenter) wäre, alle Keys in Anführungszeichen zu gruppieren.
leider darf die Keys nicht in Anfüjhrungszeichen konvertieren. Das Problem ist halt, dass ich nicht weiß wie man diese dann als Kante und als Knote graphisch zeigen lässt.