Una risposta breve è NO ...
JSON è un formato di testo completamente indipendente dal linguaggio, ma utilizza convenzioni familiari ai programmatori della famiglia di linguaggi C, inclusi C, C ++, C #, Java, JavaScript, Perl, Python e molti altri. Queste proprietà rendono JSON un linguaggio ideale per lo scambio di dati.
Guarda il motivo per cui:
Quando si scambiano dati tra un browser e un server, i dati possono essere solo testo.
JSON è testo e possiamo convertire qualsiasi oggetto JavaScript in JSON e inviare JSON al server.
Possiamo anche convertire qualsiasi JSON ricevuto dal server in oggetti JavaScript.
In questo modo possiamo lavorare con i dati come oggetti JavaScript, senza analisi e traduzioni complicate.
Ma aspetta ...
Esistono ancora modi per memorizzare la tua funzione, è ampiamente sconsigliato , ma è comunque possibile:
Abbiamo detto, puoi salvare un string
... che ne dici di convertire la tua funzione in una stringa, allora?
const data = {func: '()=>"a FUNC"'};
Quindi puoi stringere i dati usando JSON.stringify(data)
e poi usando JSON.parse
per analizzarli (se questo passaggio è necessario) ...
E eval per eseguire una funzione stringa (prima di farlo, ti basta sapere che l'uso di eval è ampiamente sconsigliato):
eval(data.func)(); //return "a FUNC"