JSON не сериализует функции.
Взгляните на второй абзац здесь .
Если вам нужно сохранить такие значения , вы можете преобразовывать значения по мере их сериализации или до десериализации, чтобы JSON мог представлять дополнительные типы данных.
blockquote>Другими словами, если вы действительно хотите JSONify функции, вы можете преобразуйте их в строки перед сериализацией:
mo.init = ''+mo.init; mo.test = ''+mo.test;
И после десериализации, преобразуйте их обратно в функции.
mo.init = eval(mo.init); mo.test = eval(mo.test);
Однако для этого не должно быть никаких оснований. Вместо этого вы можете иметь конструктор
MyObject
принять простой объект (как результат синтаксического анализа строки JSON) и скопировать свойства объекта самому себе.