Uma resposta curta é NÃO ...
JSON é um formato de texto totalmente independente da linguagem, mas usa convenções familiares aos programadores da família C de linguagens, incluindo C, C ++, C #, Java, JavaScript, Perl, Python e muitos outros. Essas propriedades tornam o JSON uma linguagem de intercâmbio de dados ideal.
Veja o motivo:
Ao trocar dados entre um navegador e um servidor, os dados podem ser apenas texto.
JSON é texto e podemos converter qualquer objeto JavaScript em JSON e enviar JSON ao servidor.
Também podemos converter qualquer JSON recebido do servidor em objetos JavaScript.
Dessa forma, podemos trabalhar com os dados como objetos JavaScript, sem análises e traduções complicadas.
Mas espere ...
Ainda há maneiras de armazenar sua função, é amplamente não recomendado para isso, mas ainda é possível:
Dissemos, você pode salvar um string
... que tal converter sua função em uma string então?
const data = {func: '()=>"a FUNC"'};
Em seguida, você pode stringificar os dados usando JSON.stringify(data)
e, em seguida, usando JSON.parse
para analisá-los (se esta etapa for necessária) ...
E eval para executar uma função de string (antes de fazer isso, informe o uso de eval amplamente não recomendado):
eval(data.func)(); //return "a FUNC"