Wie kann ich den String als JSON-Object konvertieren?
Hallo alle miteinander.
Ich benötige Hilfe weil ich eine eigene Programmiersprache mache.
Die Variablen speichere ich in einem JSON-String:
let variablen =
{
dingsbumbs:"Das ist eine Variable"
}
;
Das ist der Code mit dem lesen der Variablen:
// ...
// Art ist definiert und richtig
if(art == "sage"){
let parameter = "";
while(command.charAt(zeichenzahl) != "("){
zeichenzahl++;
}
zeichenzahl++;
if(command.charAt(zeichenzahl) == "`"){
zeichenzahl++;
while(command.charAt(zeichenzahl) != "`"){
parameter = parameter+command.charAt(zeichenzahl);
zeichenzahl++;
}
}else{
let variablenname = "";
let variablendecoded = // JSON.parse(variablen) oder JSON.stringify(variablen) ?;
// Hier wird nur der Variablenname erkannt. (Funktioniert ebenfalls)
while(command.charAt(zeichenzahl) != ")"){
variablenname = variablenname+command.charAt(zeichenzahl);
zeichenzahl++;
}
// Aber der Befehl ist ein "undfined"
parameter = variablendecoded.variablenname;
}
console.log(parameter);
zeichenzahl = command.length;
commandfunc = true;
}/*Hier ist kein Fehler*/else if(art == "C["){
while(command.charAt(zeichenzahl) != "]"){
zeichenzahl++;
}
commandfunc = true;
}
Kann mir jemand helfen das ich aus der Variable(variablendecoded) das objekt dessen Name Variable(variablenname) hat, lesen kann.
Eine Antwort wäre hilfreich.
Danke im voraus:);).
PS.: Ich verwende Node JS(18.4.0)
1 Antwort
Das, was du im ersten Snippet als JSON-String bezeichnest, ist kein JSON-String, sondern ein Objekt. Wenn es Ersteres sein sollte, müsste der Code so aussehen:
let variablen = '{"dingsbumbs":"Das ist eine Variable"}';
Strings stehen in Anführungszeichen und die Keys in JSON ebenso (dort müssen es allerdings doppelte Anführungszeichen sein).
Für dein Programm ist ein JSON-String allerdings eher hinderlich, da du ihn zum Lesen und Verändern immer wieder parsen müsstest. Ich würde JSON nur in Betracht ziehen, wenn das Objekt in variablen persistent gespeichert werden müsste.
Nun noch ein Beispiel, wie man einen Eintrag in einem Objekt suchen kann:
const variables = { "someVariable": "Some value" };
const variableName = "someVariable";
if (variables.hasOwnProperty(variableName)) {
console.log(variables[variableName]);
}
else {
console.log("undefined");
}