Timo "God's Boss" Reitz: Verständnisproblem JSON

Beitrag lesen

Könnte mir das vielleicht jemand erklären?
Ja, es scheint so, dass bei Objektliteralen in JSON eval bisweilen glaubt, ein Block-Statement vor sich zu haben und dann falsch parst.

Wann passiert das? Nicht bei seinem Beispiel.

var x=eval('{"x":"50"}'); wirft mir Fehler in Opera 9.52 ("Syntax Error"), Firefox 3.0.4 ("Invalid label") und Internet Explorer 6 ("';' expected") aus, var x=eval('({"x":"50"})'); funktioniert tadellos.

Das Problem ist offenbar, dass { als Start eines Block-Statements aufgefasst wird und "x" als (invalides) Label.

--
Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.
Self-Code: sh:( ch:? rl:( br:> n4:( ie:{ mo:) va:) de:> zu:} fl:| ss:| ls:~ js:|