javascript - JSON: आगे की कमी क्यों बच निकली है?




(4)

इस वजह से मुझे "बच निकला" का कारण।

JSON आगे स्लैश से बच निकलता है, इसलिए हैश {a: "a/b/c"} को {"a":"a\/b\/c"} बजाय {"a":"a/b/c"}

क्यूं कर?


बदसूरत PHP!

JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES डिफ़ॉल्ट होना चाहिए, न कि एक (अजीब) विकल्प ... php-developers को यह कैसे कहें?

डिफॉल्ट सबसे लगातार उपयोग होना चाहिए, और (वर्तमान) यूटीएफ 8 के रूप में सबसे व्यापक रूप से उपयोग किए जाने वाले मानकों का होना चाहिए। गीथूब या अन्य जगह में कितने PHP-code खंडों को इस exoctic "HTML में एम्बेडेड" सुविधा की आवश्यकता है?


JSON spec का कहना है कि आप आगे स्लैश से बच सकते हैं, लेकिन आपको नहीं करना है।


जेएसओएन आपको ऐसा करने की आवश्यकता नहीं है, यह आपको ऐसा करने की अनुमति देता है। यह आपको "ए" के लिए "\ u0061" का उपयोग करने की अनुमति देता है, लेकिन इसकी आवश्यकता नहीं है। किसी <script> टैग में जेएसओएन एम्बेड करते समय \/ मदद करता है, जो </ स्ट्रिंग्स की अनुमति नहीं देता है, जैसे सेब पॉइंट आउट।

माइक्रोसॉफ्ट के कुछ एएसपी.नेट अजाक्स / जेएसओएन एपीआई ने अतिरिक्त जानकारी जोड़ने के लिए इस छेड़छाड़ का उपयोग किया है, उदाहरण के लिए, डेटाटाइम को "\/Date(milliseconds)\/" रूप में भेजा जाएगा। (नीरस)


मैंने कुछ समय पहले एक ही सवाल पूछा और मुझे इसका जवाब देना पड़ा। यहां मैं ये आया हूं:

ऐसा लगता है, मेरा पहला विचार [ कि यह इसकी जावास्क्रिप्ट जड़ों से आता है ] सही था।

जावास्क्रिप्ट में '\/' === '/' , और JSON मान्य जावास्क्रिप्ट है। हालांकि, जेएसओएन में अन्य अनदेखा भाग (जैसे \z ) की अनुमति क्यों नहीं है?

इसके लिए कुंजी http://www.cs.tut.fi/~jkorpela/www/revsol.html पढ़ रही थी, इसके बाद http://www.w3.org/TR/html4/appendix/notes.html#h-B.3.2 । स्लैश एस्केप की सुविधा जेएसओएन को एचटीएमएल (एसजीएमएल) और एक्सएमएल में एम्बेडेड करने की अनुमति देती है।





json