Javascript Auswertung und Objektbewertung

Ich habe einen Teil eines Debuggerüsts, das in der Lage sein muss, Zeit-Evaluierungsobjekte auszuführen.

Speziell, wenn ich einen String wie diesen habe"{a: 1, b:2}" es muss es in ein Objekt mit Mitgliedern auswertena undb mit diesen Werten. Wenn ich jedocheval("{a: 1, b:2}") es scheint es als Aussage zu werten und sagt etwas über ein illegales Label aus.

Ich habe es gehackt, damit es wie folgt ausgewertet wird:

eval("var x=" + str + "; x;");

was zu funktionieren scheint, aber wie ein schrecklicher Hack scheint. Irgendwelche Vorschläge, wie man das besser macht?

(Übrigens, ich bin mir der Gefahren von eval bewusst, aber dies ist Teil eines Debugging-Frameworks, das von tatsächlichen Benutzern nicht gesehen wird.)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage