- JSON5, JSON फ़ाइल फ़ॉर्मैट का एक विस्तार है, जिसे इस तरह बनाया गया है कि लोग इसे सीधे लिख और maintain कर सकें
- यह मशीनों के बीच संचार के उद्देश्य से इस्तेमाल नहीं किया जाता
- 2012 में शुरू हुआ, और 2022 तक इसे हर हफ़्ते 6.5 करोड़ से अधिक डाउनलोड मिले; यह npm पर सबसे अधिक depend किए जाने वाले पैकेजों के शीर्ष 0.1% में शामिल है
- Chromium, Next.js, Babel, Retool, WebStorm जैसे प्रमुख प्रोजेक्ट्स में अपनाया गया है
- MacOS और iOS जैसे Apple प्लेटफ़ॉर्म्स पर डिफ़ॉल्ट रूप से समर्थित है
- JSON5 की विशेषताएँ
- यह JSON का superset है, और ECMAScript 5.1 के कुछ syntax को शामिल करता है
- JSON5 फ़ाइलें हमेशा वैध ES5 फ़ाइलें होती हैं
- विस्तारित ECMAScript 5.1 फीचर्स
- ऑब्जेक्ट
- ऑब्जेक्ट keys, ECMAScript 5.1 IdentifierName हो सकती हैं
- ऑब्जेक्ट में एक single trailing comma की अनुमति है
- ऐरे
- ऐरे में एक single trailing comma की अनुमति है
- स्ट्रिंग
- स्ट्रिंग को single quotes में घेरा जा सकता है
- newline character को escape करके इसे कई लाइनों में लिखा जा सकता है
- इसमें character escapes शामिल हो सकते हैं
- संख्या
- इसे hexadecimal में व्यक्त किया जा सकता है
- इसमें leading या trailing decimal point हो सकता है
- इसमें IEEE 754 positive infinity, negative infinity, और NaN शामिल हो सकते हैं
- यह explicit plus sign से शुरू हो सकता है
- टिप्पणियाँ
- single-line और multi-line comments की अनुमति है
- whitespace
- अतिरिक्त whitespace characters की अनुमति है
- API
JSON5.parse(): JSON5 स्ट्रिंग को parse करके JavaScript value या object बनाता है
JSON5.stringify(): JavaScript value को JSON5 स्ट्रिंग में बदलता है
- CLI
- JSON5 को JSON में बदलने या JSON5 दस्तावेज़ के syntax को validate करने के लिए CLI उपलब्ध है
- ECMAScript संगतता
- JSON5 को ES5 के साथ पूरी तरह संगत बनाने के लिए डिज़ाइन किया गया था, लेकिन U+2028 और U+2029 characters, ES5 में अनुमत नहीं हैं
- ES2019 में इन characters की अनुमति दी गई, जिससे JSON और JSON5, ES2019 के साथ पूरी तरह संगत हो गए
- लाइसेंस
- यह MIT लाइसेंस के तहत उपलब्ध है
2 टिप्पणियां
JSON5 बनाते समय मैंने क्या सीखा: नफ़रत करने वालों को नज़रअंदाज़ करें
Hacker News राय