यह क्या करता है
JSON5, JSON का एक विस्तार है जो हाथ से लिखी जाने वाली फ़ाइलों के लिए बनाया गया है। इसमें कमेंट, आख़िरी कॉमा, बिना उद्धरण चिह्न वाली ऑब्जेक्ट कुंजियाँ, सिंगल कोट वाली स्ट्रिंग और संख्याएँ लिखने के कुछ आसान तरीक़े चलते हैं। Babel, कुछ बंडलर और कई ऐप्लिकेशन कॉन्फ़िगरेशन के लिए JSON5 या JSONC (कमेंट वाला JSON, जिसे tsconfig.json और VS Code की सेटिंग्स इस्तेमाल करती हैं) स्वीकार करते हैं।
लेकिन कई पार्सर, API और प्रोग्रामिंग भाषाएँ केवल सख़्त JSON स्वीकार करती हैं। यह कन्वर्टर JSON5 या JSONC पढ़कर ऐसा मानक JSON बनाता है जिसे कोई भी पार्सर स्वीकार करे: हर कुंजी डबल कोट में, कोई कमेंट नहीं, कोई आख़िरी कॉमा नहीं और संख्याएँ दशमलव रूप में।
इस्तेमाल कैसे करें
- अपना JSON5 या JSONC चिपकाएँ,
.json5,.jsoncया.jsonफ़ाइल अपलोड करें, या उदाहरण पर क्लिक करें। - इंडेंट चुनें: 2 या 4 स्पेस, या एक पंक्ति के लिए कॉम्पैक्ट।
- चुनें कि
InfinityऔरNaNके साथ क्या हो:nullमें बदलें, स्ट्रिंग में बदलें या त्रुटि दिखाएँ। - JSON कॉपी या डाउनलोड करें।
अगर इनपुट में सिंटैक्स त्रुटि है, तो संदेश में पंक्ति और कॉलम दिखते हैं ताकि आप सीधे वहाँ पहुँच सकें। साधारण JSON भी मान्य JSON5 है, इसलिए आप इस टूल से यह भी जाँच सकते हैं कि फ़ाइल पार्स होती है या नहीं, और उसका इंडेंट दोबारा ठीक कर सकते हैं।
उदाहरण
यह JSON5 कॉन्फ़िगरेशन:
// Server settings
{
host: 'localhost',
port: 0x1F90, // 8080
ratio: .5,
tags: ['api', 'v2',],
}
इस सख़्त JSON में बदल जाता है:
{
"host": "localhost",
"port": 8080,
"ratio": 0.5,
"tags": [
"api",
"v2"
]
}
कमेंट हटा दिए गए हैं, कुंजियों और स्ट्रिंग को डबल कोट मिले हैं, हेक्साडेसिमल संख्या और बिना पूर्णांक भाग वाली दशमलव संख्या दशमलव रूप में लिखी गई है, और आख़िरी कॉमा ग़ायब हो गए हैं।
क्या-क्या बदला जाता है
//लाइन कमेंट और/* */ब्लॉक कमेंट हटा दिए जाते हैं।portजैसी बिना उद्धरण चिह्न वाली कुंजियाँ और'localhost'जैसी सिंगल कोट वाली स्ट्रिंग डबल कोट में बदल जाती हैं।- पंक्ति के अंत में बैकस्लैश से आगे बढ़ाई गई स्ट्रिंग एक ही स्ट्रिंग में जोड़ दी जाती है।
- हेक्साडेसिमल (
0xFF), शुरू या अंत में दशमलव बिंदु (.5,5.) और स्पष्ट प्लस चिह्न (+3) सामान्य दशमलव संख्याएँ बन जाते हैं। - ऑब्जेक्ट और ऐरे में आख़िरी कॉमा हटा दिए जाते हैं।
- अगर कोई कुंजी दो बार आती है, तो JavaScript की तरह आख़िरी मान लिया जाता है।
अक्सर पूछे जाने वाले सवाल
› JSON5 और JSONC में क्या अंतर है?
JSONC कमेंट वाला JSON है (और VS Code में आख़िरी कॉमा भी चलते हैं)। JSON5 इससे आगे जाता है: बिना उद्धरण चिह्न वाली कुंजियाँ, सिंगल कोट वाली स्ट्रिंग, कई पंक्तियों वाली स्ट्रिंग, हेक्साडेसिमल संख्याएँ, संख्या के शुरू या अंत में दशमलव बिंदु, Infinity और NaN। JSON5 में JSONC पूरा शामिल है, इसलिए यह टूल दोनों पढ़ लेता है।
› क्या मेरे कमेंट बचे रहेंगे?
नहीं। मानक JSON में कमेंट का कोई सिंटैक्स नहीं है, इसलिए कमेंट हटा दिए जाते हैं। अगर उन्हें रखना है, तो JSON5 फ़ाइल को स्रोत के रूप में रखें और उसी से JSON बनाएँ।
› Infinity और NaN का क्या होता है?
सख़्त JSON इन्हें दर्शा नहीं सकता। डिफ़ॉल्ट रूप से ये null बन जाते हैं, जैसा JavaScript का JSON.stringify करता है। आप इन्हें स्ट्रिंग में भी बदल सकते हैं या सटीक पाथ बताने वाली त्रुटि दिखा सकते हैं।
› क्या मेरा डेटा अपलोड होता है?
नहीं। पार्सिंग और रूपांतरण पूरी तरह आपके ब्राउज़र में होता है, इसलिए सीक्रेट वाली कॉन्फ़िगरेशन फ़ाइलें कभी आपके डिवाइस से बाहर नहीं जातीं।