JSON kennt keine Date-Objekte oder sonstige spezifische JavaScript-Objekte (RegExp, Funktionen, ...).
Interessant! Wenn das JSON-Objekt nämlich nicht mit json_encode erzeugt wird funktioniert das wunderbar.
Ja, natürlich.
JSON ist ein eigenes Format. JSON ist immer gültiges JavaScript. Aber nicht jedes gültige JavaScript ist JSON. JSON ist eine UNTERMENGE von JavaScript, ein Subset. JSON kann nicht alles, was JavaScript kann.
Wenn du den Code ohnehin als JavaScript an den Browser sendest, dann kannst du new Date, RegExps usw. nach Lust und Laune verwenden.
Wenn du den Code allerdings irgendwo als JSON verarbeitest – ob mit PHP (json_encode/json_decode) oder JavaScript (JSON.parse/stringify) –, dann kannst du nur die Datentypen verwenden, die JSON erlaubt. Das sind nur Object, Array, Boolean, String und Number.
Mathias