इसका इस्तेमाल कैसे करें
- TOML फ़ाइल TOML दस्तावेज में चिपकाएँ, या वहाँ रखा उदाहरण रहने दें।
- जाँच पढ़ें। हरे का मतलब है कि फ़ाइल TOML 1.0.0 का पालन करती है। लाल पर पंक्ति और वह नियम बताया जाता है जो फ़ाइल तोड़ती है।
- JSON परिणाम कॉपी करें, या उसे data.json के रूप में डाउनलोड करें।
बदलाव कैसे होता है
पार्सर TOML 1.0.0 के व्याकरण का पालन करता है और वह पेड़ बनाता है जिसे विनिर्देश बताता है। फिर पेड़ दो स्पेस के इंडेंट के साथ JSON में लिखा जाता है, और कुंजियाँ फ़ाइल का क्रम रखती हैं, इसलिए JSON TOML जैसा ही पढ़ा जाता है।
- एक टेबल और उसकी उप-टेबलें JSON ऑब्जेक्ट बनती हैं।
- एक सूची JSON सूची बनती है। टेबल की सूची, जिसे TOML दोहरे कोष्ठक से लिखता है, JSON ऑब्जेक्ट की सूची बनती है।
- इनलाइन टेबल JSON ऑब्जेक्ट बनती है। उसकी कुंजियाँ पंक्ति के क्रम में रहती हैं।
JSON क्या नहीं रख सकता
- तारीख, समय या ऑफ़सेट वाली तारीख अपना टेक्स्ट बनती है, जैसे "1979-05-27T07:32:00-08:00"। JSON में तारीख का प्रकार नहीं है, और टेक्स्ट ऑफ़सेट और भिन्नांश का हर अंक रखता है।
- अनंत या NaN स्ट्रिंग "inf", "-inf" या "nan" बनता है, क्योंकि JSON में ऐसी संख्या नहीं है।
- बिना भिन्नांश वाला फ़्लोट, जैसे 1.0, 1.0 लिखा जाता है, और 1 जैसा पूर्णांक 1। जो JSON रीडर एक ही प्रकार की संख्या जानता है, वह दोनों को एक ही संख्या पढ़ता है।
जाँच किन नियमों का पालन करती है
फ़ाइल तुरंत अस्वीकार की जाती है, जैसे ही वह विनिर्देश का कोई नियम तोड़ती है। ये नियम ज्यादातर गलतियों का कारण बनते हैं:
- कुंजी सिर्फ एक बार परिभाषित हो सकती है। सादी कुंजी और उद्धृत कुंजी जिनका नाम एक है, वे एक ही कुंजी हैं।
- टेबल हेडर अपनी टेबल को एक बार परिभाषित करता है। लंबे हेडर से सिर्फ अर्थ निकली टेबल बाद में परिभाषित हो सकती है, पर डॉटेड कुंजियों या इनलाइन टेबल से बनी टेबल नहीं।
- टेबल की सूची हर दोहरे कोष्ठक वाले हेडर के लिए एक टेबल से बढ़ती है। स्टैटिक सूची, जैसे खाली कोष्ठक की जोड़ी से लिखी गई, इस तरह नहीं बढ़ती।
- पूर्णांक एक साइन वाली 64-बिट संख्या है, −9223372036854775808 से 9223372036854775807 तक।
हल किया हुआ उदाहरण: तारीख, फ़्लोट और बड़ा पूर्णांक
हर पंक्ति TOML की एक लाइन देती है और उसके लिए टूल जो JSON मान लिखता है। चारों लाइनों को एक साथ चलाने पर वही परिणाम एक परिणाम में दिखता है।
| TOML की पंक्ति | JSON मान |
|---|---|
| when = 1979-05-27T07:32:00-08:00 | "when": "1979-05-27T07:32:00-08:00" |
| ratio = 1.0 | "ratio": 1.0 |
| port = 8000 | "port": 8000 |
| id = 9223372036854775807 | "id": 9223372036854775807 |
अक्सर पूछे जाने वाले सवाल
तारीख JSON में टेक्स्ट के रूप में क्यों लिखी जाती है?
JSON में तारीख या समय का प्रकार नहीं है, इसलिए टूल वही टेक्स्ट लिखता है जो TOML फ़ाइल में है। टेक्स्ट ऑफ़सेट और भिन्नांश का हर अंक रखता है, इसलिए JSON पढ़ते समय कुछ नहीं खोता।
1.0 क्यों 1.0 रहता है और 1 क्यों 1 रहता है?
TOML पूर्णांक और फ़्लोट को बिंदु या घातांक से अलग करता है, और JSON वह अंतर अपने लिखे अंकों में रखता है। यह अंतर JSON रीडर रखता है या नहीं, वह उस रीडर पर निर्भर है।
टूल एक ही टेबल दो बार परिभाषित होने पर उसे मना क्यों करता है?
TOML 1.0.0 में टेबल हेडर अपनी टेबल को एक बार, और कुंजी सिर्फ एक बार परिभाषित करती है। दूसरी परिभाषा उस पंक्ति पर गलती है जहाँ वह लिखी है, इसलिए JSON कभी ऐसा मान नहीं रखता जिसका फ़ाइल विरोध करती हो।
क्या टिप्पणियाँ और कुंजियों का क्रम बचा रहता है?
टिप्पणियाँ हटा दी जाती हैं, क्योंकि JSON में टिप्पणियाँ नहीं होतीं। कुंजियों का क्रम बचा रहता है, क्योंकि सदस्य फ़ाइल के क्रम में लिखे जाते हैं।
क्या कई पंक्तियों वाली सूची वाली TOML फ़ाइल बदली जा सकती है?
हाँ। सूची कई पंक्तियों में फैल सकती है और कॉमा पर खत्म हो सकती है, जैसा TOML 1.0.0 अनुमति देता है, और टूल उसे एक JSON सूची के रूप में लिखता है।
क्या मेरा चिपकाया टेक्स्ट कहीं भेजा जाता है?
नहीं। बदलाव आपके ब्राउज़र में चलता है, और जो भी चिपकाया जाए, वह न सहेजा जाता है, न हमें भेजा जाता है। फिर भी जिस पेज पर भरोसा न हो, वहाँ पासवर्ड या टोकन न चिपकाएँ।
स्रोत
- TOML v1.0.0 विनिर्देश (अंग्रेजी में)
- RFC 8259 (अंग्रेजी में): The JavaScript Object Notation (JSON) Data Interchange Format
आँकड़े और टेक्स्ट आखिरी बार बुधवार, 11 नवंबर 2026 को जाँचे गए।