या साधनाबद्दल
JSON फॉरमॅटिंग (बहुतेकदा प्रीटी-प्रिंटिंग किंवा ब्युटीफिकेशन म्हटले जाते) कॉम्पॅक्ट JSON घेते आणि मानवी वाचकांना रचना दृश्यमान करण्यासाठी व्हाइटस्पेस — लाइन ब्रेक, इंडेंटेशन, सातत्यपूर्ण अंतर — जोडते. कॉम्पॅक्ट JSON हे ट्रान्समिशनसाठी योग्य स्वरूप आहे: ते वायर आणि स्टोरेजवरील बाइट्स कमी करते. स्वरूपित JSON हे तपासणीसाठी योग्य स्वरूप आहे: इंडेंटेड पदानुक्रम एका दृष्टीक्षेपात नेस्टेड रचना प्रकट करते, फरक अर्थपूर्ण बनवते आणि विकासकांना दस्तऐवजाचे मानसिक विश्लेषण न करता विशिष्ट फील्ड शोधू देते.
हे फॉर्मेटर इनपुट वैध आहे याची पुष्टी करण्यासाठी JSON म्हणून त्याचे विश्लेषण करते, नंतर ते सुसंगत इंडेंटेशनसह पुन्हा उत्सर्जित करते. अवैध इनपुट सिंटॅक्स समस्येकडे निर्देश करणारी त्रुटी निर्माण करते. स्त्रोत कितीही संक्षिप्त किंवा गोंधळलेला असला तरीही वैध इनपुटचे रीफॉर्मेट केले जाते. सर्वात सामान्य JavaScript कन्व्हेन्शनशी जुळणारे, दोन स्पेसवर इंडेंटेशन डीफॉल्ट होते.
फॉरमॅटर मिनिफिकेशन (उलटा ऑपरेशन) देखील ऑफर करते, जे सर्वात लहान वैध JSON तयार करण्यासाठी सर्व अनावश्यक व्हाइटस्पेस काढून टाकते. उत्पादन प्रसारणासाठी मिनिफाइड आउटपुट उपयुक्त आहे; स्वरूपित आउटपुट विकास आणि डीबगिंगसाठी उपयुक्त आहे.
JSON फॉरमॅट का
इंडेंटेशनशिवाय खोलवर नेस्टेड JSON वाचणे अनिवार्यपणे अशक्य आहे — रचना तांत्रिकदृष्ट्या उपस्थित आहे परंतु अदृश्य आहे. अगदी मध्यम गुंतागुंतीच्या JSON ला फॉरमॅटिंगचा खूप फायदा होतो. कोड समीक्षक, API डीबगर आणि डेटा पेलोड समजून घेण्याचा प्रयत्न करणाऱ्या कोणालाही प्रत्यक्षात काय आहे हे पाहण्यासाठी JSON स्वरूपित करणे आवश्यक आहे.
फॉरमॅटिंगमध्ये त्रुटी देखील आढळतात. फॉरमॅटिंग दरम्यान JSON पार्स करण्यात अयशस्वी झाल्यास, एरर मेसेज सिंटॅक्स समस्येची अचूक स्थिती ओळखतो — अनेकदा गहाळ स्वल्पविराम, एक अनकोट केलेली की, किंवा स्ट्रे ट्रेलिंग स्वल्पविराम ज्याला उत्पादक प्रणालीने ध्वजांकित केला नाही. फॉरमॅटर हा उपलब्ध सर्वात सोपा JSON प्रमाणक आहे.
तांत्रिक तपशील
फॉरमॅटर JSON.parse आणि JSON.stringify वापरतो, प्रत्येक JavaScript रनटाइम शिपमध्ये समान जोडी. पार्सिंग RFC 8259 (सध्याचे JSON spec) चे अनुसरण करते, कठोर JSON स्वीकारते परंतु JavaScript ऑब्जेक्ट लिटल्स, टिप्पण्या, अनुगामी स्वल्पविराम आणि इतर JSON5 विस्तार नाकारतात.
JSON.stringify इंडेंट आर्ग्युमेंट स्वीकारतो: संख्या (स्पेसेस) किंवा स्ट्रिंग (कस्टम इंडेंट वर्ण, जसे की टॅब). फॉर्मेटर दोन्ही पर्याय उघड करतो. आउटपुट ऑब्जेक्ट्ससाठी स्त्रोत क्रमाने क्रमवारी लावले जाते (सर्व प्रमुख इंजिनमध्ये ES2015 ने प्रॉपर्टी इन्सर्टेशन ऑर्डर जतन केल्यामुळे).
एज केस: नंबरच्या पलीकडे मोठ्या संख्येने. MAX_SAFE_INTEGER पार्स केल्यावर अचूकता गमावतात (ज्ञात JSON मर्यादा; 2^53 पेक्षा जास्त असलेल्या ID साठी स्ट्रिंग मूल्ये वापरा). स्ट्रिंगमधील युनिकोड एस्केप अक्षरशः जतन केले जातात. प्रत्येक ओळीतून अनुगामी व्हाइटस्पेस काढून टाकली आहे.
वारंवार विचारले जाणारे प्रश्न
- हे साधन कोणत्या प्रकारच्या JSON त्रुटी शोधते?
- हे टूल RFC 8259 JSON स्पेसिफिकेशननुसार गहाळ स्वल्पविराम, न जुळणारे ब्रॅकेट/ब्रेसेस, अवैध स्ट्रिंग एस्केपिंग, ट्रेलिंग कॉमा, सिंगल-कोटेड स्ट्रिंग आणि इतर वाक्यरचना उल्लंघने शोधते.
- ते खूप मोठ्या JSON फायली हाताळू शकते?
- होय. फॉरमॅटर नेटिव्ह JavaScript पार्सिंग वापरून तुमच्या ब्राउझरमध्ये JSON वर प्रक्रिया करते, त्यामुळे ते अनेक मेगाबाइट्सपर्यंतच्या फाइल्स कार्यक्षमतेने हाताळते. अत्यंत मोठ्या फाइल्ससाठी (50MB+), प्रक्रियेचा वेळ तुमच्या डिव्हाइसवर अवलंबून असतो.
- टिप्पण्या (JSONC) सह JSON चे समर्थन करते का?
- मानक JSON टिप्पण्यांना अनुमती देत नाही. तुमच्या इनपुटमध्ये टिप्पण्या असल्यास, प्रमाणक त्यांना त्रुटी म्हणून ध्वजांकित करेल. JSONC समर्थनासाठी, स्वरूपन करण्यापूर्वी टिप्पण्या काढा.
- फॉरमॅटिंगमुळे माझ्या डेटा मूल्यांमध्ये बदल होईल का?
- नाही. फॉरमॅटिंग फक्त व्हाईटस्पेस आणि इंडेंटेशन समायोजित करते — तुमचे डेटा प्रकार, मूल्ये आणि रचना अगदी सारखीच राहते.
- JSON5 वैशिष्ट्ये समर्थित आहेत (टिप्पण्या, अनुगामी स्वल्पविराम)?
- नाही. फॉरमॅटर RFC 8259 चे काटेकोरपणे पालन करते. JSON5 वैशिष्ट्यांमुळे पार्स त्रुटी येतात. JSON5 सह कार्य करण्यासाठी, प्रथम JSON5 पार्सर वापरून मानक JSON मध्ये रूपांतरित करा.
- माझे JSON सर्व्हरवर अपलोड केले आहे का?
- नाही. बिल्ट-इन JSON फंक्शन्स वापरून पार्सिंग आणि फॉरमॅटिंग पूर्णपणे तुमच्या ब्राउझरमध्ये होते.
- मोठ्या संख्येने अचूकता गमावेल?
- JavaScript संख्यांना 64-बिट फ्लोट्स म्हणून दर्शवते, त्यामुळे 2^53 (सुमारे 9 चतुर्भुज) वरील पूर्णांक अचूकता गमावतात. आयडी किंवा इतर मोठ्या पूर्णांक मूल्यांसाठी, त्यांना JSON मध्ये स्ट्रिंग म्हणून स्टोअर करा.
- मी वर्णक्रमानुसार की क्रमवारी लावू शकतो का?
- JSON.stringify की क्रमवारी लावत नाही. की स्ट्रिंगिंग करण्यापूर्वी वर्णमाला करण्यासाठी वेगळी क्रमवारी पायरी (किंवा सॉर्टिंग सपोर्टसह फॉरमॅटर) वापरा.