Определение JSON не позволяет переносить функции javascript. Он должен быть независимым от языка. Если вы используете синтаксический анализатор JSON вместо eval (), произойдет сбой, если JSON содержит какие-либо функции.
Дуглас Крокфорд, который, как мне кажется, придумал термин JSON , имеет JSON-анализатор для javascript
Даже JSONP возвращает не функцию, а вызов функции - myFuncIAskedFor({ returned JSON })
Как уже упоминали другие, определяйте свои функции локально, это самая безопасная вещь, которую можно сделать
Также используйте анализатор JSON