आइए एक कल्पना की बोली - http://tools.ietf.org/html/rfc7159#section-12
जावास्क्रिप्ट ऑब्जेक्ट नोटेशन (JSON) डाटा इंटरचेंज फ़ॉर्मेट विशिष्टता कहता है:
JSON जावास्क्रिप्ट का एक सबसेट है, लेकिन असाइनमेंट और मंगलाचरण को छोड़कर।
चूँकि JSON के सिंटैक्स को JavaScript से उधार लिया गया है, इसलिए उस भाषा के "eval ()" फ़ंक्शन का उपयोग करने के लिए JSON पाठ को पार्स करना संभव है। यह आम तौर पर अस्वीकार्य सुरक्षा जोखिम का
गठन करता है , क्योंकि पाठ में
डेटा घोषणाओं के साथ निष्पादन योग्य कोड शामिल हो सकता है । यही विचार eval () के उपयोग पर लागू होता है - जैसे किसी अन्य प्रोग्रामिंग भाषा में कार्य जिसमें JSON टेक्स्ट उस
भाषा के सिंटैक्स के अनुरूप होता है ।
इसलिए सभी उत्तर जो राज्य, उस कार्य JSON मानक का हिस्सा नहीं हैं, सही हैं।
आधिकारिक उत्तर है: नहीं, JSON परिणामों में कार्यों को परिभाषित करना मान्य नहीं है!
उत्तर हां हो सकता है, क्योंकि "कोड डेटा है" और "डेटा कोड है"। यहां तक कि अगर JSON का उपयोग भाषा स्वतंत्र डेटा क्रमांकन प्रारूप के रूप में किया जाता है, तो अन्य प्रकारों के माध्यम से "कोड" का एक टनलिंग काम करेगा।
निष्पादन के लिए क्लाइंट-साइड ब्राउज़र में JS फ़ंक्शन को पास करने के लिए JSON स्ट्रिंग का उपयोग किया जा सकता है।
[{"data":[["1","2"],["3","4"]],"aFunction":"function(){return \"foo bar\";}"}]
यह प्रश्न की ओर ले जाता है: " स्ट्रिंग के रूप में संग्रहीत जावास्क्रिप्ट कोड को कैसे निष्पादित करें "।
तैयार रहें, अपना "eval () बुराई" झंडा उठाने के लिए है और अपने "JSON के माध्यम से सुरंग कार्यों को न करें" उसके बगल में झंडा लगाएँ।