Eine kurze Antwort lautet NO ...
JSON ist ein Textformat, das völlig sprachunabhängig ist, aber die Konventionen, die Programmierern der C-Familie vertraut sind Sprachen vertraut sind, darunter C, C++, C#, Java, JavaScript, Perl, Python und viele andere. Diese Eigenschaften machen JSON zu einer idealen Sprache für den Datenaustausch Sprache.
Sehen Sie sich den Grund dafür an:
Wenn Daten zwischen einem Browser und einem Server ausgetauscht werden, können die Daten nur Text sein.
JSON ist Text, und wir können jedes JavaScript-Objekt in JSON umwandeln, und JSON an den Server senden.
Wir können auch jedes vom Server empfangene JSON in JavaScript umwandeln Objekte umwandeln.
Auf diese Weise können wir mit den Daten als JavaScript-Objekte arbeiten, ohne kompliziertes Parsing und Übersetzungen.
Aber warten ...
Es gibt immer noch Möglichkeiten, Ihre Funktion zu speichern, sie ist weit verbreitet nicht empfohlen aber dennoch möglich:
Wir sagten, Sie können eine string
... wie wäre es dann mit der Umwandlung Ihrer Funktion in eine Zeichenkette?
const data = {func: '()=>"a FUNC"'};
Dann können Sie die Daten mit JSON.stringify(data)
und dann mit JSON.parse
um sie zu analysieren (falls dieser Schritt erforderlich ist)...
Und eval um eine String-Funktion auszuführen (bevor Sie das tun, sollten Sie wissen, dass die Verwendung von eval weithin nicht empfohlen wird):
eval(data.func)(); //return "a FUNC"