molily: json2: Umwandlung object in json-string

Beitrag lesen

Werden Funktionen ignoriert?

JSON ist ein Subset von JavaScript, das nur Literale der Typen Object, Array, String, Boolean, Number und null erlaubt. Keine RegExp, Function, Date, NaN, Infinity oder undefined. Keine anderen Expressions und Operatoren. Also auch keine Function-Expressions.

Wenn du Objekte mit Funktionen serialisieren willst, ist JSON nicht das richtige Format für dich.

War es naiv zu glauben, dass eine Funktion ja _auch_ ein Objekt ist

Ist es. Würde es als bloßes Objekt verarbeitet, so würde der JSON-Serialisier er aber doch bloß nach enumerable properties suchen und diese rekursiv serialisieren. Da hat eine Funktion wenig (nichts?) zu bieten.

toSource ist etwas ganz anderes und ruft im Falle von Funktionen toString() auf. Das kannst du natürlich selbst machen, um ein Objekt zu serialisieren.

Mathias