Hallo Mathias!
Das verhindert man am einfachsten, indem man den JSON-String in einen Javascript-Kommentar setzt, und diese Kommentarzeichen per String-Operation vor dem eval() wieder entfernt.
Eigentlich reicht es aus, wenn man direkt { ... } schreibt, ohne Klammern. Und nicht [ ... ] schreibt, auch wenn das gemäß JSON erlaubt wäre. Dann ist der Code nur mit eval() zu verarbeiten, beim Einbinden als Script löst er den besagten Fehler aus. Die Klammern werden dann beim eval() hinzugefügt bzw. sind im Falle der Nutzung einer nativen oder eigenen (d.h. Crockfords) JSON-Implementierung unnötig.
Also das JSON habe ich mit der Pear-Klasse von Michal Migurski erstellt. Das heißt, daher kommen auch die eckigen Klammern.
Ich steh grad ein bisschen auf dem Schlauch und weiß nicht ob ich die Klammern jetzt per Hand entfernen und ins JavaScript eval('('[+request.responseText+]')') schreiben soll um sie wieder hinzuzufügen. Von Crockford hör ich grad zum ersten mal. Gibts wieder was zu googlen...^^
Danke und Grüße, Matze