कॉन्फ़िग कन्वर्टर

एक कॉन्फ़िग फ़ॉर्मेट पेस्ट करें, टाइप करते ही बाक़ी दो पाएँ।

इसका उपयोग कैसे करें

  1. अपना कॉन्फ़िग पेस्ट करें — YAML, JSON या Java .properties। फ़ॉर्मेट पहचाना जाता है और टाइप करते ही बाक़ी दो नीचे दिखते हैं; दबाने के लिए कोई बटन नहीं।
  2. अगर अनुमान ग़लत हो, तो स्रोत फ़ॉर्मेट खुद चुनें। 2 या 4 स्पेस का इंडेंटेशन चुनें, और Spring-शैली की कुंजियाँ सपाट रखने के लिए “डॉट वाली कुंजियाँ खोलें” बंद करें।
  3. हर परिणाम अलग से कॉपी या डाउनलोड करें — फ़ाइल नाम config.yaml, config.json और config.properties हैं।

उदाहरण

इनपुट (YAML)

server:
  port: 8080
  name: order-service
debug: true

JSON और Properties

{
  "server": {
    "port": 8080,
    "name": "order-service"
  },
  "debug": true
}

Properties
----------
server.port = 8080
server.name = order-service
debug = true

सिर्फ़ डिफ़ॉल्ट नियम: स्रोत YAML पहचाना गया, इसलिए 8080 संख्या और true बूलियन बना रहता है। Properties में टाइप नहीं होते, इसलिए वही मान स्ट्रिंग 8080 और true के रूप में आते हैं — जब स्रोत .properties हो तो सब कुछ आख़िर तक स्ट्रिंग ही रहता है।

नियम, सीमाएँ और ज्ञात समस्याएँ

  • सिर्फ़ तीन फ़ॉर्मेट: YAML, JSON और Java .properties। कोई TOML नहीं, कोई INI [section] हेडर नहीं, कोई XML या CSV नहीं।
  • YAML कॉन्फ़िग-सबसेट के रूप में समर्थित है: ब्लॉक मैपिंग, सीक्वेंस, फ़्लो {…} / […], कोटेड स्केलर और | / > ब्लॉक स्केलर। एंकर (&), उपनाम (*), !tags, << मर्ज कुंजियाँ और ? जटिल कुंजियाँ अनुमान लगाने के बजाय त्रुटि बताई जाती हैं।
  • सिर्फ़ पहला YAML दस्तावेज़ कन्वर्ट होता है; बाद वाला --- नज़रअंदाज़ होता है और उसकी सूचना दी जाती है।
  • कमेंट आगे नहीं ले जाए जाते: तीनों फ़ॉर्मेट उन्हें अलग जगह रखते हैं, इसलिए ग़लत जगह पर बचा कमेंट कमेंट न होने से बुरा है।
  • Properties में टाइप नहीं होते। हर मान स्ट्रिंग है, इसलिए port = 8080 JSON में "8080" बनता है — 8080 नहीं। संख्याएँ, बूलियन और null सिर्फ़ तब बचते हैं जब स्रोत YAML या JSON हो।
  • गैर-ASCII टेक्स्ट जैसा है वैसा (UTF-8) लिखा जाता है, \uXXXX के रूप में एस्केप नहीं। Java का Properties.store() ISO-8859-1 लिखता है, इसलिए Java प्रोजेक्ट में पेस्ट करना हो तो फ़ाइल UTF-8 में सहेजें।
  • सुरक्षित सीमा से बड़ी पूर्ण संख्याएँ (जैसे 12345678901234567890) संख्या में राउंड होने के बजाय आपके लिखे ठीक अंकों के साथ स्ट्रिंग के रूप में रखी जाती हैं।
  • कुंजियों का क्रम आपके इनपुट का पालन करता है; कोई सॉर्टिंग विकल्प नहीं।
  • सबसे ऊपरी ऐरे या अकेला मान properties के रूप में नहीं लिखा जा सकता — वह एक पैनल यह बताता है, दूसरा फिर भी कन्वर्ट करता है।
  • कोई फ़ाइल अपलोड नहीं, कोई URL पैरामीटर नहीं, कोई इतिहास नहीं। सब कुछ आपके ब्राउज़र में चलता है: कुछ भी अपलोड या संग्रहीत नहीं होता।
  • लाइन ब्रेक वाली स्ट्रिंग YAML में "a\nb" के रूप में लिखी जाती है, | ब्लॉक स्केलर के रूप में नहीं।
  • सीमाएँ: 1,000,000 कैरेक्टर और 64 स्तर की नेस्टिंग — किसी एक से ऊपर जाने पर कटा परिणाम नहीं, त्रुटि मिलती है। 200,000 कैरेक्टर से ऊपर परिणाम टाइप करना रोकने के लगभग 0.6 सेकंड बाद अपडेट होता है; आउटपुट LF इस्तेमाल करता है और अंत में नया लाइन ब्रेक नहीं होता।

कॉन्फ़िग सही फ़ॉर्मेट में आ जाने के बाद लोग आमतौर पर यह चाहते हैं।