Una respuesta corta es NO ...
JSON es un formato de texto que es completamente independiente del lenguaje, pero utiliza convenciones que son familiares para los programadores de la familia de lenguajes C, incluidos C, C ++, C #, Java, JavaScript, Perl, Python y muchos otros. Estas propiedades hacen de JSON un lenguaje ideal para el intercambio de datos.
Mira la razón por la cual:
Al intercambiar datos entre un navegador y un servidor, los datos solo pueden ser texto.
JSON es texto y podemos convertir cualquier objeto JavaScript en JSON y enviar JSON al servidor.
También podemos convertir cualquier JSON recibido del servidor en objetos JavaScript.
De esta forma podemos trabajar con los datos como objetos JavaScript, sin complicados análisis ni traducciones.
Pero espera ...
Todavía hay formas de almacenar su función, generalmente no se recomienda hacerlo, pero aún es posible:
Dijimos, puede guardar un string
... ¿qué tal convertir su función en una cadena, entonces?
const data = {func: '()=>"a FUNC"'};
Luego puede secuenciar los datos usando JSON.stringify(data)
y luego usando JSON.parse
para analizarlos (si este paso es necesario) ...
Y eval para ejecutar una función de cadena (antes de hacer eso, hágale saber que no se recomienda utilizar eval):
eval(data.func)(); //return "a FUNC"