ऑनलाइन JSON को फ़ॉर्मेट और सत्यापित कैसे करें

· 7 मिनट पढ़ने का समय

यदि आप API, कॉन्फ़िगरेशन फ़ाइलों, या किसी भी प्रकार के संरचित डेटा के साथ काम करते हैं, तो आप नियमित रूप से JSON से निपटते हैं। और यदि आपने कभी कोई गुम कोष्ठक खोजने की कोशिश में मिनिफाइड JSON की दीवार को घूरा है, तो आप जानते हैं कि फॉर्मेटिंग क्यों मायने रखती है। ब्राउज़र-आधारित फॉर्मेटर पूरा काम स्थानीय रूप से संभालता है, आपके डेटा को सर्वर पर अपलोड किए बिना।

JSON फॉर्मेटिंग क्या करती है

API प्रतिक्रिया या एक मिनिफाइड फ़ाइल से कच्चा JSON ऐसा दिखता है:

{"users":[{"name":"Alice","age":30,"roles":["admin","editor"]},{"name":"Bob","age":25,"roles":["viewer"]}]}

एक फॉर्मेटर इसे पठनीय कुछ में बदल देता है:

{
  "users": [
    {
      "name": "Alice",
      "age": 30,
      "roles": ["admin", "editor"]
    },
    {
      "name": "Bob",
      "age": 25,
      "roles": ["viewer"]
    }
  ]
}

वही डेटा, लेकिन अब आप वास्तव में इसे पढ़ सकते हैं, त्रुटियों को देख सकते हैं, और संरचना को समझ सकते हैं।

JSON को ऑनलाइन कैसे फॉर्मेट करें

  1. अपना JSON पेस्ट करें इनपुट फ़ील्ड में। फॉर्मेटर तुरंत सिंटैक्स त्रुटियों का पता लगाएगा और संरचना को सत्यापित करेगा।
  2. अपनी इंडेंटेशन चुनें: 2 या 4 स्पेस का चयन करें, या JSON को एक लाइन में संपीड़ित करने के लिए मिनिफाई पर क्लिक करें।
  3. परिणाम कॉपी करें: फॉर्मेट किए गए आउटपुट में रंग-कोडित सिंटैक्स हाइलाइटिंग शामिल है। इसे अपने कोड, कॉन्फ़िगरेशन फ़ाइल, या दस्तावेज़ में उपयोग के लिए कॉपी करें।

JSON का संक्षिप्त इतिहास

JSON (JavaScript Object Notation) को 2001 में Douglas Crockford द्वारा निर्दिष्ट किया गया था, औपचारिक रूप से RFC 4627 (2006) में प्रलेखित किया गया, और 2013 में ECMA-404 और 2017 में ISO/IEC 21778 के रूप में मानकीकृत किया गया। Crockford ने JSON का आविष्कार नहीं किया: उन्होंने इसे JavaScript ऑब्जेक्ट लिटरल सिंटैक्स के उपसमुच्चय से निकाला जो पहले से ही उपयोग में था, और इसे एक नाम साथ ही json.org पर एक एकल-पृष्ठ विनिर्देश दिया।

JSON ने जल्दी से वेब API के लिए XML को विस्थापित कर दिया क्योंकि यह नाटकीय रूप से सरल है। एक XML प्रतिक्रिया खुलने/बंद होने वाले टैग के साथ वर्बोज़ है; समकक्ष JSON आधे आकार का है। ब्राउज़र JSON को मूल रूप से पार्स कर सकते हैं (2009 में ECMAScript 5 से JSON.parse, JSON.stringify) बिना XML पार्सर की आवश्यकता के।

2015 तक, दुनिया में हर प्रमुख API JSON बोलती थी: REST API, GraphQL क्वेरीज़, WebSocket संदेश, कॉन्फ़िगरेशन फ़ाइलें (package.json, tsconfig.json, .vscode/settings.json), और यहां तक कि डेटाबेस (PostgreSQL JSONB, MongoDB BSON जो JSON जैसा है)। यह वेब पर संरचित डेटा की लिंगुआ फ्रांका बन गया।

JSON की सादगी भी इसकी सीमा है: कोई टिप्पणियाँ नहीं, कोई अनुगामी अल्पविराम नहीं, कोई दिनांक प्रकार नहीं, कोई बाइनरी समर्थन नहीं। इन अंतरालों को संबोधित करने के लिए कई JSON वेरिएंट उभरे (नीचे «वैकल्पिक JSON-जैसे प्रारूप» देखें)।

सामान्य JSON त्रुटियाँ और उन्हें कैसे पहचानें

अधिकांश JSON त्रुटियाँ कुछ सामान्य गलतियों तक उबल जाती हैं:

एक अच्छा फॉर्मेटर ठीक वहीं हाइलाइट करता है जहां त्रुटि है, ताकि आप अनुमान लगाने के बजाय इसे तुरंत ठीक कर सकें।

JSON डेटा प्रकार

JSON में ठीक 6 डेटा प्रकार हैं:

प्रकारउदाहरणनोट्स
स्ट्रिंग"hello"हमेशा दोहरे उद्धरण, \n, \t, \\, \", \uXXXX का समर्थन करता है
संख्या42, 3.14, -1e10कोई NaN या Infinity नहीं, कोई अग्रणी शून्य नहीं
बूलियनtrue, falseकेवल लोअरकेस
nullnullकेवल लोअरकेस
सरणी[1, 2, 3]क्रमबद्ध, कोई भी प्रकार, अल्पविराम-पृथक
ऑब्जेक्ट{"key": "value"}कुंजियाँ उद्धृत स्ट्रिंग्स होनी चाहिए, अल्पविराम-पृथक

विशेष रूप से लापता: दिनांक (ISO 8601 स्ट्रिंग्स का उपयोग करें), बाइनरी डेटा (Base64 स्ट्रिंग्स का उपयोग करें), टिप्पणियाँ (एक अलग दस्तावेज़ीकरण फ़ील्ड का उपयोग करें), और bigint (JSON संख्याएँ डबल-प्रिसिजन हैं; >= 2^53 मान सटीकता खो देते हैं)।

कब फॉर्मेट करें बनाम मिनिफाई करें

फॉर्मेट (प्रिटी-प्रिंट) जब आपको आवश्यकता हो:

मिनिफाई जब आपको आवश्यकता हो:

आकार में अंतर महत्वपूर्ण है: एक विशिष्ट 50 KB प्रिटी-प्रिंटेड JSON लगभग 30 KB तक मिनिफाई करता है। उच्च-ट्रैफ़िक API के लिए, मिनिफाइड प्रतिक्रियाएँ बैंडविड्थ बचाती हैं। मानव-संपादित फ़ाइलों के लिए, फॉर्मेटेड आवश्यक है।

वैकल्पिक JSON-जैसे प्रारूप

जब JSON की सख्ती समस्या है, तो कई वेरिएंट नियमों को आराम देते हैं:

प्रारूपJSON पर जोड़ता हैसर्वोत्तम उपयोग
JSON5टिप्पणियाँ, अनुगामी अल्पविराम, एकल उद्धरण, उद्धरण न दी गई कुंजियाँकॉन्फ़िगरेशन फ़ाइलें जहां मनुष्य संपादित करते हैं
JSONCकेवल टिप्पणियाँ (// और /* */)VS Code सेटिंग्स, tsconfig.json
HJSONटिप्पणियाँ, उद्धरण न दी गई स्ट्रिंग्स, मल्टी-लाइन स्ट्रिंग्समानव-अनुकूल कॉन्फ़िगरेशन
JSON Lines (NDJSON)प्रति पंक्ति एक JSON ऑब्जेक्ट, कोई संलग्न सरणी नहींलॉग फ़ाइलें, स्ट्रीमिंग
YAMLइंडेंटेशन-आधारित, टिप्पणियाँ, एंकर, संदर्भKubernetes, GitHub Actions
TOMLINI-जैसा सिंटैक्स, दिनांक, टिप्पणियाँCargo.toml, pyproject.toml
BSONअतिरिक्त प्रकारों (Date, ObjectId, Binary) के साथ बाइनरी JSONMongoDB आंतरिक भंडारण
CBOR (RFC 8949)आकार के लिए अनुकूलित बाइनरी प्रारूपविवश-डिवाइस API
MessagePackबाइनरी JSON-जैसा, कॉम्पैक्टआंतरिक API क्रमबद्धता

डेटा इंटरचेंज (API प्रतिक्रियाएँ, कॉन्फ़िगरेशन) के लिए, सख्त JSON पर ही रहें। मानव-संपादित कॉन्फ़िगरेशन के लिए, JSON5 या JSONC अधिक अनुकूल हैं। डेटा स्ट्रीमिंग के लिए, NDJSON वास्तविक मानक है।

सामान्य चूक

JSON के साथ काम करने के लिए सुझाव

गोपनीयता और गोपनीय JSON

JSON फॉर्मेटर पूरी तरह से आपके ब्राउज़र में चलता है। आप जो JSON पेस्ट करते हैं, मध्यवर्ती प्रसंस्करण, और फॉर्मेटेड आउटपुट सभी आपके डिवाइस पर रहते हैं। कुछ भी सर्वर पर अपलोड नहीं किया जाता, लॉग नहीं किया जाता, या किसी के साथ साझा नहीं किया जाता।

यह महत्वपूर्ण है क्योंकि JSON में अक्सर अत्यंत संवेदनशील डेटा होता है: ग्राहक रिकॉर्ड और ईमेल पतों वाली API प्रतिक्रियाएं, प्रमाणीकरण टोकन और सत्र डेटा, उत्पाद आर्किटेक्चर को प्रकट करने वाले आंतरिक API स्कीमा, डेटाबेस पासवर्ड वाली कॉन्फ़िगरेशन फ़ाइलें, लेखा API से वित्तीय डेटा, FHIR API से चिकित्सा रिकॉर्ड, HR API से आंतरिक कंपनी संरचना, बुनियादी ढांचे को प्रकट करने वाले स्टैक ट्रेस वाले डिबग पेलोड। क्लाउड JSON फॉर्मेटर अपने अनुरोध लॉग में प्रत्येक पेस्ट को रिकॉर्ड करते हैं, कभी-कभी «सेवा सुधार» के लिए उन्हें बनाए रखते हैं, और वास्तविक घटनाओं में शामिल रहे हैं जहाँ पेस्ट की गई API प्रतिक्रियाओं ने ग्राहक डेटा और API कुंजियाँ लीक कर दीं। ब्राउज़र-आधारित फॉर्मेटर में शून्य एक्सपोज़र है: JSON कभी आपकी मशीन नहीं छोड़ता।

ब्राउज़र-आधारित फॉर्मेटिंग पृष्ठ लोड होने के बाद ऑफ़लाइन भी काम करती है, हवाई जहाज़ों पर, इंटरनेट एक्सेस के बिना सुरक्षित वातावरण में, या कहीं भी जहाँ आप API डेटा (विशेष रूप से एम्बेडेड क्रेडेंशियल के साथ) को किसी तृतीय पक्ष सेवा में पेस्ट नहीं कर सकते या नहीं करना चाहिए, JSON को फॉर्मेट करने के लिए उपयोगी।

अक्सर पूछे जाने वाले प्रश्न

क्या फ़ॉर्मेटर बड़ी JSON फ़ाइलें संभाल सकता है?

हाँ। चूँकि टूल आपके ब्राउज़र में चलता है, यह हज़ारों पंक्तियों वाली फ़ाइलों को प्रोसेस कर सकता है। प्रदर्शन आपके डिवाइस पर निर्भर करता है, लेकिन अधिकांश आधुनिक ब्राउज़र बिना किसी समस्या के बड़े JSON को संभालते हैं।

क्या यह ऑफ़लाइन काम करता है?

हाँ। एक बार पेज लोड होने के बाद, टूल बिना इंटरनेट कनेक्शन के पूरी तरह आपके ब्राउज़र में काम करता है। सारी प्रोसेसिंग स्थानीय रूप से JavaScript में होती है।

फ़ॉर्मेट करने और सत्यापित करने में क्या अंतर है?

फ़ॉर्मेट करना JSON को पठनीय बनाने के लिए इंडेंटेशन और पंक्ति विराम जोड़ता है। सत्यापन जाँचता है कि JSON संरचना सही है, संतुलित ब्रेस, सही उद्धरण, वैध प्रकार। अधिकांश फ़ॉर्मेटर एक ही समय में दोनों करते हैं।

क्या मैं इसे अपने फ़ोन पर उपयोग कर सकता हूँ?

हाँ। टूल किसी भी आधुनिक ब्राउज़र वाले डिवाइस पर काम करता है, जिसमें फ़ोन और टैबलेट शामिल हैं।