JSON सिंटॅक्स आणि संरचनेची समज
JSON (JavaScript Object Notation) हा डेटा देवाणघेवाण करण्यासाठी वापरला जाणारा एक हलका आणि वाचनीय फॉरमॅट आहे। हा फॉरमॅट प्रामुख्याने की-व्हॅल्यू जोड्या (Objects) आणि मूल्यांच्या सूची (Arrays) या दोन संरचनांवर आधारित असतो। जरी हा फॉरमॅट समजायला सोपा असला, तरी स्वल्पविराम, अवतरणचिन्हे किंवा कंस यामध्ये झालेली एक लहानशी चूक देखील संपूर्ण डेटा अवैध ठरवू शकते।
डेटा ट्रान्समिशन किंवा स्टोरेज दरम्यान जागा वाचवण्यासाठी बऱ्याचदा JSON मधील स्पेस आणि लाईन ब्रेक्स काढून टाकले जातात, ज्यामुळे मानवाला तो वाचणे कठीण होते। "JSON फॉरमॅटर" हे टूल अशा कॉम्पॅक्ट किंवा विस्कळीत डेटाला सुव्यवस्थित आणि वाचनीय बनवण्याचे काम करते। हे टूल मोठ्या पूर्णांकांचे (large integers) कोणतेही नुकसान न करता ते जसेच्या तसे जतन करते।
JSON व्हॅलिडेशनचे महत्त्व आणि त्रुटींचे निवारण
API रिस्पॉन्स किंवा कॉन्फिगरेशन फाइल्समधील डेटा अचूक असणे अत्यंत आवश्यक असते। अवैध JSON मुळे सिस्टीममध्ये त्रुटी निर्माण होऊ शकतात। हे टूल केवळ डेटा फॉरमॅट करत नाही, तर त्यातील त्रुटी शोधून त्यांचे अचूक स्थान देखील दर्शवते।
जर इनपुट केलेले JSON अवैध असेल, तर टूलद्वारे "अवैध JSON" असा संदेश दाखवला जातो। वापरकर्त्याला त्रुटी शोधणे सोपे जावे म्हणून "त्रुटीकडे जा" या बटणाचा पर्याय दिला जातो, जो थेट "ओळ {line}, कॉलम {col}" या स्थानावर नेतो।
या टूलमध्ये सामान्यतः आढळणाऱ्या खालील त्रुटी ओळखण्याची आणि दर्शवण्याची क्षमता आहे:
- "आयटममध्ये स्वल्पविराम गहाळ आहे"
- "बंद करणाऱ्या कंसापूर्वी जादा स्वल्पविराम आहे"
- "ऑब्जेक्टच्या की दुहेरी अवतरणचिन्हांत असाव्यात"
- "प्रॉपर्टीच्या नावानंतर कोलन गहाळ आहे"
- "एका स्ट्रिंगचे शेवटचे अवतरणचिन्ह गहाळ आहे"
- "JSON खूप लवकर संपते — ते अपूर्ण दिसते"
- "जिथे मूल्य असायला हवे तिथे अनपेक्षित अक्षर आहे"
- "हे JSON प्रोसेस करण्यासाठी खूप खोलवर नेस्टेड आहे"
- "डुप्लिकेट की
{key}— फॉरमॅट करण्यापूर्वी एक काढून टाका" (या टूलमध्ये डुप्लिकेट की आढळल्यास डेटा आपोआप मर्ज किंवा डिलीट न करता त्रुटी दाखवली जाते)
इनपुट पद्धती आणि फाइल्स हाताळण्याचे नियम
वापरकर्ते विविध मार्गांनी या टूलमध्ये डेटा इनपुट करू शकतात:
- पेस्ट पद्धत: थेट इनपुट क्षेत्रामध्ये "तुमचे JSON पेस्ट करा" या सूचनेनुसार मजकूर पेस्ट करता येतो।
- फाइल अपलोड: "फाइल उघडा" वर क्लिक करून किंवा ड्रॅग आणि ड्रॉप करून
.jsonकिंवा.txtफाइल्स लोड करता येतात।
फाइल्स अपलोड करताना खालील नियम आणि मर्यादा लागू होतात:
- फाइल्स केवळ UTF-8 एन्कोडिंगमध्ये असणे आवश्यक आहे, अन्यथा "ही फाइल UTF-8 मजकूर नाही, त्यामुळे ती येथे उघडता येणार नाही" हा संदेश दिसतो।
- असमर्थित फाइल फॉरमॅट असल्यास "असमर्थित फाइल प्रकार — .json किंवा .txt फाइल निवडा." अशी चेतावणी दिली जाते।
- फाइल यशस्वीरित्या लोड झाल्यावर "
{name}({size}) लोड झाली" असा संदेश मिळतो। - फाइल वाचण्यात अडचण आल्यास "ही फाइल वाचता आली नाही. ती पुन्हा निवडून पाहा" हा संदेश दाखवला जातो।
प्रक्रिया मर्यादा आणि कार्यप्रदर्शन
मोठ्या आकाराच्या फाइल्स हाताळताना टूलच्या स्थिरतेसाठी काही मर्यादा निश्चित केल्या आहेत:
- कमाल मर्यादा: या टूलची कमाल इनपुट मर्यादा 10 MiB आहे। जर फाइल यापेक्षा मोठी असेल, तर "फाइल खूप मोठी आहे — मर्यादा
{limit}आहे" किंवा "इनपुट{limit}पेक्षा मोठे आहे, जे या टूलच्या क्षमतेपेक्षा जास्त आहे" असा संदेश दर्शवला जातो। - सिंक्रोनस प्रोसेसिंग मर्यादा: २५०,००० (250,000) अक्षरांपेक्षा जास्त आकाराच्या इनपुटसाठी प्रक्रिया मर्यादा लागू होतात।
- वेळ मर्यादा: जर तपासणी प्रक्रियेला जास्त वेळ लागला, तर "हे JSON तपासण्यास खूप वेळ लागला म्हणून ते थांबवले गेले. लहान दस्तऐवज वापरून पाहा" या संदेशासह प्रक्रिया थांबवली जाते।
फॉरमॅटिंग, मिनीफिकेशन आणि की क्रमवारी
वापरकर्ते त्यांच्या गरजेनुसार "सिंटॅक्स" लेबल अंतर्गत "JSON" किंवा "JSONC" सिंटॅक्स निवडू शकतात। टूलमध्ये खालील मुख्य क्रिया उपलब्ध आहेत:
- फॉरमॅट करा: "इंडेंटेशन (Indentation)" पातळी निवडून डेटा फॉरमॅट करता येतो। प्रक्रिया पूर्ण झाल्यावर "JSON फॉरमॅट केले" असा संदेश येतो।
- मिनीफाय (Minify): अनावश्यक स्पेस आणि ओळी काढून डेटा संकुचित करण्यासाठी "मिनीफाय (Minify)" बटण वापरले जाते। प्रक्रिया पूर्ण झाल्यावर "JSON मिनीफाय (minify) केले" असा संदेश येतो।
- की क्रमवारी: "की क्रमवारी लावा" या बटणावर क्लिक करून ऑब्जेक्टच्या की कोड-पॉइंट क्रमाने रिकर्सिव्ह पद्धतीने लावल्या जातात। याचा टूलटिप संदेश "ऑब्जेक्टच्या की कोड-पॉइंट क्रमाने रिकर्सिव्ह पद्धतीने लावतो. अॅरेचा क्रम कधीही बदलत नाही" असा आहे। क्रमवारीनंतर "की क्रमवारीत लावल्या — अॅरेचा क्रम जसाच्या तसा. पूर्ववत करण्यासाठी Ctrl/Cmd+Z दाबा" हा संदेश दिसतो।
- साफ करा: एडिटरमधील सर्व मजकूर काढून टाकण्यासाठी "साफ करा" बटण वापरले जाते, ज्यानंतर "एडिटर साफ केला" असा संदेश मिळतो।
ट्री व्ह्यू आणि डेटा एक्सट्रॅक्शन
डेटाचे विश्लेषण सुलभ करण्यासाठी टूलमध्ये "कोड" व्ह्यू सोबतच "ट्री (Tree)" व्ह्यूचा पर्याय दिला आहे।
ट्री व्ह्यूच्या मर्यादा आणि संदेश:
- डेटा अवैध असल्यास "ट्री (tree) स्वरूपात पाहण्यासाठी JSON दुरुस्त करा" हा संदेश दिसतो।
- डेटा खूप मोठा असल्यास "हे JSON ट्री स्वरूपात दाखवण्यासाठी खूप मोठे आहे" किंवा "या JSON मध्ये ट्री म्हणून दाखवण्यासाठी खूप जास्त मूल्ये आहेत" असा संदेश मिळतो।
- ट्री पूर्णपणे उघडताना मर्यादा ओलांडल्यास "हे JSON पूर्ण विस्तारण्यासाठी खूप मोठे आहे — पहिल्या
{count}ओळी दाखवत आहोत" असा संदेश दिसतो।
ट्री व्ह्यूमधील नेव्हिगेशन आणि शोध:
वापरकर्ते "की आणि मूल्ये शोधा" या लेबलचा वापर करून शोध घेऊ शकतात। शोध परिणामांसाठी "{total} पैकी {current}" किंवा मर्यादा ओलांडल्यास "{total}+ पैकी {current}" असा काउंट दिसतो। जुळणी न आढळल्यास "जुळणी नाही" असा संदेश येतो। नेव्हिगेशनसाठी "मागील जुळणी", "पुढील जुळणी", "सर्व विस्तारा" आणि "सर्व आवरा" हे पर्याय उपलब्ध आहेत। विशिष्ट नोडसाठी "{key} विस्तारा" किंवा "{key} आवरा" हे बटण वापरता येते।
डेटा कॉपी पर्याय:
विशिष्ट नोडवर राइट-क्लिक किंवा मेनू उघडल्यास "{key} साठी कॉपी पर्याय" दिसतात, ज्यामध्ये खालील पर्याय समाविष्ट आहेत:
- "मूल्य कॉपी करा"
- "JSON Pointer कॉपी करा"
- "JSONPath कॉपी करा"
नॉन-स्टँडर्ड JSON शोधणे आणि स्वयंचलित दुरुस्ती
हे टूल केवळ मानक JSON नाही, तर विविध नॉन-स्टँडर्ड फॉरमॅट्स देखील ओळखू शकते। टूलद्वारे खालील फॉरमॅट्स शोधले जातात आणि त्यावर योग्य दुरुस्ती सुचवली जाते:
| शोधलेला फॉरमॅट (Detection Message) | दुरुस्तीची कृती (Action Message) |
|---|---|
| "हे Markdown कोड फेन्समधील JSON वाटते" | "लागू केल्यावर फक्त फेन्समधील JSON ठेवले जाईल" |
| "हे स्ट्रिंगमध्ये एस्केप केलेले JSON वाटते" | "लागू केल्यावर स्ट्रिंग अनएस्केप होऊन साधे JSON होईल" |
| "हे JSON नसून Python-शैलीतील डिक्शनरी वाटते" | "लागू केल्यावर अवतरणचिन्हे आणि True/False/None हे JSON म्हणून पुन्हा लिहिले जातील" |
| "हे JSON Lines वाटते — प्रत्येक ओळीत एक मूल्य" | "लागू केल्यावर ओळी एका JSON अॅरेमध्ये एकत्र केल्या जातील" |
| "हे JSONP कॉलबॅकमध्ये गुंडाळलेले JSON वाटते" | "लागू केल्यावर कॉलबॅक रॅपर काढला जाईल" |
| "हे JSONC वाटते — टिप्पण्या किंवा शेवटचे स्वल्पविराम. सिंटॅक्स JSONC वर बदला किंवा दुरुस्ती लागू करा" | "लागू केल्यावर टिप्पण्या आणि शेवटचे स्वल्पविराम काढले जातील" |
वापरकर्ता "दुरुस्तीचे पूर्वावलोकन" वर क्लिक करून "दुरुस्ती पूर्वावलोकन" विंडो उघडू शकतो, जिथे "मूळ" आणि "दुरुस्तीनंतर" असा तुलनात्मक डेटा दिसतो। "दुरुस्ती लागू करा" वर क्लिक केल्यावर "दुरुस्ती लागू झाली. पूर्ववत करण्यासाठी Ctrl/Cmd+Z दाबा" असा संदेश येतो। जर स्वयंचलित दुरुस्ती शक्य नसेल, तर "हा इनपुट आपोआप दुरुस्त करता आला नाही" असा संदेश मिळतो। मोठ्या दस्तऐवजांच्या बाबतीत "पूर्वावलोकन लहान केले आहे — दुरुस्ती संपूर्ण दस्तऐवजाला लागू होते" अशी चेतावणी दिली जाते।
गोपनीयता आणि डेटा सुरक्षा
या टूलचा वापर करताना वापरकर्त्याच्या गोपनीयतेची पूर्ण काळजी घेतली जाते। तुमचे JSON तुमच्या ब्राउझरमध्येच प्रोसेस केले जाते। BroBroGo वर काहीही अपलोड केले जात नाही। संपूर्ण प्रक्रिया स्थानिक पातळीवर (locally) होत असल्याने डेटा सुरक्षित राहतो।
वारंवार विचारले जाणारे प्रश्न (FAQ)
माझे JSON अपलोड केले जाते का?
नाही. हे फॉरमॅटर तुमच्या ब्राउझरमध्ये चालते आणि तुमचे JSON कुठेही अपलोड करत नाही।
Minify काय करते?
Minify केल्याने मूळ JSON डेटा तसाच ठेवून अनावश्यक स्पेस आणि लाईन ब्रेक्स काढून टाकले जातात।
या टूलची कमाल इनपुट मर्यादा किती आहे?
या टूलची कमाल इनपुट मर्यादा 10 MiB आहे। यापेक्षा मोठे इनपुट असल्यास टूल ते प्रोसेस करू शकत नाही।
डुप्लिकेट की आढळल्यास हे टूल काय करते?
इतर काही टूल्सप्रमाणे हे टूल डुप्लिकेट की मधील डेटा आपोआप मर्ज करत नाही, तर ते "डुप्लिकेट की {key} — फॉरमॅट करण्यापूर्वी एक काढून टाका" अशी त्रुटी दर्शवते।