Une réponse courte est NON ...
JSON est un format de texte complètement indépendant du langage, mais qui utilise des conventions familières aux programmeurs de la famille de langages C, notamment C, C ++, C #, Java, JavaScript, Perl, Python et bien d'autres. Ces propriétés font de JSON un langage d'échange de données idéal.
Regardez la raison pour laquelle:
Lors de l'échange de données entre un navigateur et un serveur, les données ne peuvent être que du texte.
JSON est du texte et nous pouvons convertir n'importe quel objet JavaScript en JSON et envoyer JSON au serveur.
Nous pouvons également convertir tout JSON reçu du serveur en objets JavaScript.
De cette façon, nous pouvons travailler avec les données en tant qu'objets JavaScript, sans analyse ni traductions compliquées.
Mais attendez ...
Il existe encore des moyens de stocker votre fonction, ce n'est généralement pas recommandé , mais toujours possible:
Nous avons dit, vous pouvez enregistrer un string
... que diriez-vous alors de convertir votre fonction en chaîne?
const data = {func: '()=>"a FUNC"'};
Ensuite, vous pouvez stringify les données en utilisant JSON.stringify(data)
puis en utilisant JSON.parse
pour les analyser (si cette étape est nécessaire) ...
Et eval pour exécuter une fonction de chaîne (avant de faire cela, faites-vous simplement savoir en utilisant eval largement déconseillé):
eval(data.func)(); //return "a FUNC"