JSON को INI में बदलें

यहाँ आप JSON को INI में बदलते हैं, मुफ़्त और बिना खाते के: फ़ाइल ऊपर छोड़िए और कुछ ही सेकंड में नतीजा डाउनलोड के लिए तैयार मिलेगा। कन्वर्ज़न आपके अपने ब्राउज़र के भीतर होता है, इसलिए फ़ाइल कभी अपलोड नहीं होती। यह Windows, macOS और Linux पर वैसे ही चलता है जैसे iPhone और Android पर, और कनेक्शन काट देने पर भी चलता रहता है।

  • कहाँ चलता है आपके ब्राउज़र में। फ़ाइल कभी अपलोड नहीं होती।
  • नए सिरे से बना INI के काम करने का तरीक़ा JSON से अलग है। यह किसी लॉसी कोडेक जैसा धीरे-धीरे होने वाला नुक़सान नहीं है: INI जो कुछ व्यक्त कर सकता है, वह हूबहू उतर आता है — और जिसका वहाँ कोई समतुल्य नहीं, वह पूरी तरह रह जाता है।
  • फ़ाइल आकार की सीमा हर फ़ाइल 100 MB तक, मुफ़्त, बिना खाते के।
  • जानने लायक़ INI में एक के अंदर एक होता ही नहीं। एक स्तर से गहरी संरचनाएँ चपटी होकर बिंदु वाली कुंजियाँ बन जाती हैं।

एक बार में 100 फ़ाइलें। फ़ॉर्मेट अलग-अलग हों तो भी चलेगा।

INI में grouping की एक ही परत है, JSON में जितनी चाहिए

यही पूरा वाक्य पूरा रूपांतरण है। INI फ़ाइल sections की सूची है, हर एक flat key-value लाइनें रखते हुए, और section के भीतर section की कोई सुविधा नहीं। इसका कोई specification नहीं — यह 1985 से है।

JSON बिना किसी सीमा के nest करता है। तो रूपांतरण को एक tree को दो levels पर projection करना है, और असली सवाल यह नहीं कि यह काम करता है या नहीं, बल्कि यह कि तीसरे level और उससे नीचे के साथ क्या होता है।

JSON का पहला level section headers बनता है

हर वह ऊपरी key जिसका value object है, section बनती है — server, logging और database objects रखने वाली JSON फ़ाइल [server], [logging] और [database] बनाती है। जो settings किसी इंसान ने पहले लिखी थीं, उनके लिए यह अक्सर एक सटीक मेल है।

सादा value रखने वाली ऊपरी keys पहले section header से पहले लिखी जाती हैं, बाद में नहीं। यह style का चुनाव नहीं — कोई INI section उसके बाद हर लाइन का मालिक होता है जब तक अगला header न आए।

दूसरे level के नीचे, key नाम structure ढोता है

तीसरा nesting level dotted key बनकर लिखा जाता है। अगर server में tls object हो जिसमें cert path हो, आउटपुट [server] section बनकर उसके नीचे tls.cert line रखता है।

कुछ parsers इस परंपरा को समझते हैं और nesting दोबारा बनाते हैं; ज़्यादातर नहीं समझते। कोई भी setting पढ़ने के लिए दोनों तरीक़े ठीक हैं। जो यह नहीं है वह round-trippable होना — dot रखने वाली असली JSON key nesting के एक level से अलग नहीं की जा सकती।

JSON null एक ख़ाली INI value बनकर लिखा जाता है

Key बचती है, value नहीं — null equals sign के बाद कुछ भी नहीं लिखता। यह unset value के सबसे नज़दीक है जो INI के पास है, क्योंकि फ़ॉर्मेट के पास न null है, न इसे व्यक्त करने का कोई तरीक़ा।

आपका parser इससे क्या करता है यह अलग-अलग होता है, और दस सेकंड में जान लेना बेहतर है। Python configparser इसे ख़ाली string लौटाता है। कुछ readers key पूरी तरह छोड़ देते हैं।

Arrays नंबर वाली keys बन जाते हैं, जो शायद ही किसी program को चाहिए

INI के पास कोई list नहीं। तीन allowed hosts वाला array 0, 1 और 2 keyed तीन लाइनें बनता है, जो हर value रखता है पर लगभग किसी parser convention से नहीं मिलता।

यह वह हिस्सा है जिसे INI बनने के बाद बदलने की बजाय JSON में पहले बदलना बेहतर है। Array को एक string में जोड़ दीजिए जिस separator को application उम्मीद करता है, फिर बदलिए।

जब JSON records की सूची हो, INI ग़लत मंज़िल है

शीर्ष-level वाला JSON array array positions के नाम पर sections बनाता है — [0], [1], [2], हर एक record की keys रखते हुए। फ़ाइल syntax के हिसाब से valid INI है और इसे पढ़ने वाला कोई समझदार program नहीं होगा।

यह आउटपुट विफलता नहीं, संकेत है। INI एक configuration फ़ॉर्मेट है — एक application के लिए named settings का सेट — और records की सूची डेटा है। CSV या स्प्रेडशीट लक्ष्य है अगर कोई इंसान इसे पढ़ेगा।

किसी value में newline escape होता है, सीधे नहीं लिखा जाता

लगभग हर value वैसे ही लिखी जाती है — path, hostname, port, flag — जिससे फ़ाइल हाथ से टाइप की गई जैसी दिखती है। तीन प्रकार की values ऐसी नहीं हैं — जिसमें line break हो, जो पहले से quote से शुरू और ख़त्म होती हो।

यह escape हाल का है और एक असली दोष की जगह लेता है — अगस्त 2026 से पहले newline वाली JSON string सीधे लाइन break के रूप में लिखी जाती थी, जिससे अगला section अनजाने में बन सकता था।

Types टेक्स्ट के रूप में लौटती हैं, और reader अंदाज़ा लगाता है

INI हर चीज़ को टेक्स्ट के रूप में स्टोर करता है। JSON का true, true लिखा जाता है, JSON का 8080, 8080, और आगे इनका मतलब वही तय करता है जो फ़ाइल पढ़ता है।

अंदाज़ा किस दिशा में जाता है यह जानना ज़रूरी है इससे पहले किसी value पर भरोसा करें। लीडिंग zeros वाला version string नंबर मान लिए जाने पर वे zeros खो देता है।

Comments वह चीज़ है जो INI बनने के बाद जोड़नी है

आउटपुट में कोई comment नहीं है, क्योंकि JSON के पास कोई देने को नहीं था। INI comments सँभालता है — semicolon या hash से शुरू होने वाली लाइन — और यह converter दोनों को दूसरी दिशा में पढ़ते वक़्त मानता है।

चूँकि settings को INI में ले जाने का मक़सद ही अक्सर यह है कि कोई इंसान उन्हें edit करेगा, comment लाइनें तुरंत जोड़ने लायक़ हैं — कौन-सी values environment-specific हैं।

JSON को INI में बदलना वहीं होता है जहाँ फ़ाइल पहले से है

यह सादा JavaScript है इसी ब्राउज़र टैब में। फ़ाइल अपलोड नहीं होती, कोई अकाउंट या कतार नहीं, और मुफ़्त तह 100 MB तक स्वीकार करती है।

Privacy बात यहाँ सजावट नहीं है। Settings फ़ाइल database connection strings, API endpoints, internal hostnames रखती है — और, कोई भी माने या नहीं, कभी-कभी एक password जो environment variable होना चाहिए था।

JSON को INI में ऐसे बदलें

  1. अपनी JSON फ़ाइल इस पेज पर छोड़ें, या चुनने के लिए दबाएँ।
  2. लक्ष्य के रूप में INI चुनें। कन्वर्ज़न आपके ब्राउज़र में होता है और फ़ाइल अपलोड नहीं होती।
  3. तैयार INI फ़ाइल डाउनलोड कर लें।

JSON या INI: क्या बदलता है

JSON और INI की तुलना
JSONINI
पूरा नामJavaScript Object NotationINI कॉन्फ़िगरेशन
फ़ाइल एक्सटेंशन.json.ini, .cfg, .conf
मीडिया टाइपapplication/jsontext/plain
पहली बार प्रकाशित20011985
विनिर्देशRFC 8259
लाइसेंसखुला मानकखुला मानक
आज की स्थितिमौजूदापुराना, फिर भी हर जगह पढ़ा जाता है
ब्राउज़र में खुलता हैहर ब्राउज़रकोई ब्राउज़र नहीं
इसकी जगह विचारणीयXML, YAML, NDJSONTOML, YAML

नतीजा खोलना

INI को कोई भी ब्राउज़र नहीं पढ़ता। इस लिहाज़ से दोनों में यही कम जगह चलने वाला है। भेजने से पहले देख लीजिए कि पाने वाला इसे लेता भी है या नहीं।

Visual Studio Code JSON और INI — दोनों पढ़ लेता है, इसलिए आप नतीजे को असली फ़ाइल के बग़ल में रखकर देख सकते हैं, बिना दूसरा प्रोग्राम खोले।

कौन-सा फ़ॉर्मेट किस काम के लिए है

दोनों का निशाना अलग काम है: JSON का प्रोग्रामों के बीच डेटा ले जाना और वेब पर, INI का एडिटिंग पर। इस पर सोचना बनता है, क्योंकि जिस वजह से एक मौजूद है, आम तौर पर उसी वजह से दूसरा असुविधाजनक होता है।

JSON 2001 में आया। यह RFC 8259 में तय किया गया है, और अगर फ़ाइल को उस औज़ार से ज़्यादा जीना है जिसने उसे लिखा, तो यह बात क़ीमती है।

INI 1985 से चला आ रहा है। Notepad और Visual Studio Code इस फ़ॉर्मेट को पढ़ लेते है।

INI 1985 में आया और JSON 2001 में। किसी को सौंपने के लिए आम तौर पर पुराना वाला ज़्यादा सुरक्षित रहता है; नया वाला वही काम कम बाइट में कर देता है।

JSON से INI: आम सवाल

क्या मेरी JSON फ़ाइल कहीं अपलोड होती है?

नहीं। यह कन्वर्ज़न पूरी तरह आपके ब्राउज़र में होता है, इसलिए फ़ाइल आपके डिवाइस से बाहर नहीं जाती। आप ख़ुद जाँच सकते हैं: डेवलपर टूल्स का नेटवर्क टैब खोलिए और कुछ बदल कर देखिए। आपको पेज ख़ुद दिखेगा और आँकड़ों तथा विज्ञापन के वे अनुरोध दिखेंगे जिनसे इस सेवा का ख़र्च निकलता है — और एक भी ऐसा अनुरोध नहीं जो आपकी फ़ाइल साथ ले जा रहा हो।

क्या JSON को INI में बदलना मुफ़्त है?

हाँ। न खाता, न वॉटरमार्क, और न कोई रोज़ का कोटा जो ख़त्म हो: यह आपकी अपनी मशीन पर चलता है, इसलिए आप जितनी बार चाहें लौट सकते हैं। ब्राउज़र 100 MB तक की फ़ाइलें सँभालता है, एक बार में 100।

JSON को INI में बदलने पर क्या गुणवत्ता जाती है?

JSON और INI सामग्री का वर्णन बुनियादी तौर पर अलग-अलग तरीक़ों से करते हैं। इसलिए यह कन्वर्ज़न नक़ल नहीं, पुनर्निर्माण है: ईमानदार, पर बाइट-दर-बाइट एक जैसा नहीं। INI में एक के अंदर एक होता ही नहीं। एक स्तर से गहरी संरचनाएँ चपटी होकर बिंदु वाली कुंजियाँ बन जाती हैं।

क्या INI फ़ाइल ब्राउज़र में खुलती है?

INI को कोई भी ब्राउज़र नहीं पढ़ता। इस लिहाज़ से दोनों में यही कम जगह चलने वाला है। भेजने से पहले देख लीजिए कि पाने वाला इसे लेता भी है या नहीं।

इन फ़ॉर्मेट के बारे में और