JSON सत्यापनकर्ता और सौंदर्यीकरण उपकरण

हमारे JSON सत्यापन और सौंदर्यीकरण उपकरण के साथ अपने JSON सामग्री को सत्यापित और सुंदर बनाएं ताकि JSON डेटा साफ और पठनीय हो सके।

2 रेटिंग्स में से 5
JSON सत्यापनकर्ता और सौंदर्यीकरण उपकरण

JSON सत्यापनकर्ता और सौंदर्यीकरण उपकरण एक मुफ्त टूल है, जो जांचता है कि JSON का सिंटैक्स मान्य है या नहीं। मान्य सामग्री को यह ऐसे फॉर्मैट करता है कि उसकी संरचना पढ़ना आसान हो जाए।

JSON सत्यापन और सौंदर्यीकरण क्या करता है?

JSON सत्यापन यह पुष्टि करता है कि दिया गया इनपुट JSON व्याकरण के अनुरूप है। सौंदर्यीकरण मान्य ऑब्जेक्ट और ऐरे को एकसमान स्पेसिंग और इंडेंटेशन के साथ दिखाता है। API रिस्पॉन्स डीबग करने, डिप्लॉयमेंट से पहले कॉन्फिगरेशन जांचने या किसी तीसरे पक्ष से मिले कॉम्पैक्ट डेटा को पढ़ने में यह उपयोगी है।

JSON का सिंटैक्स JavaScript ऑब्जेक्ट लिटरल से अधिक सख्त होता है। प्रॉपर्टी के नाम डबल कोटेशन मार्क में होने चाहिए, स्ट्रिंग में सिंगल कोटेशन मार्क इस्तेमाल नहीं किए जा सकते और ऑब्जेक्ट या ऐरे के अंत में अतिरिक्त कॉमा नहीं हो सकता। टिप्पणियां, undefined, NaN और Infinity भी JSON विनिर्देश का हिस्सा नहीं हैं।

यह टूल सर्वर पर PHP के json_decode फंक्शन का उपयोग करता है। आपका इनपुट HTTPS के जरिए सर्वर तक जाता है और स्टोर नहीं किया जाता। हालांकि, डेटा आपके डिवाइस से बाहर जाता है। इसलिए अगर आपके संगठन के डेटा-प्रबंधन नियम किसी बाहरी सर्वर पर पासवर्ड, एक्सेस टोकन या निजी डेटा भेजने की अनुमति नहीं देते, तो इन्हें पहले हटा दें।

JSON को सत्यापित और सुंदर ढंग से फॉर्मैट कैसे करें?

सामग्री को JSON फील्ड में पेस्ट करें और टूल चलाएं। उपयोगी नतीजे के लिए लॉग लाइन से कॉपी किए गए किसी ऑब्जेक्ट के हिस्से के बजाय एक पूरा JSON मान डालें।

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

JSON टोकन के बीच केवल चार व्हाइटस्पेस कैरेक्टर स्वीकार किए जाते हैं: स्पेस (U+0020), टैब (U+0009), लाइन फीड (U+000A) और कैरिज रिटर्न (U+000D)। इनसे डेटा पर कोई असर नहीं पड़ता, इसलिए डेटा बदले बिना इन्हें जोड़ा या हटाया जा सकता है। हालांकि, कोट की गई स्ट्रिंग के अंदर मौजूद व्हाइटस्पेस डेटा होता है और उसे बदलना नहीं चाहिए। स्ट्रिंग के अंदर का विराम-चिह्न भी सुरक्षित रहता है, लेकिन कोटेशन मार्क, बैकस्लैश और कंट्रोल कैरेक्टर के लिए उचित एस्केप सीक्वेंस जरूरी है।

सत्यापन के नतीजे को कैसे समझें?

सफल नतीजे का मतलब है कि PHP इनपुट को JSON के रूप में डिकोड कर सका। विफलता का अर्थ है कि पार्सर उसे एक पूर्ण और मान्य JSON मान के रूप में नहीं समझ पाया। इसके बाद सौंदर्यीकरण से मान्य ऑब्जेक्ट और ऐरे की नेस्टिंग और सीमाएं साफ दिखाई देती हैं।

सत्यापन विफल होने के सामान्य कारण ये हैं:

  • } या ] से पहले अतिरिक्त कॉमा;
  • {name: "Ada"} जैसा बिना कोटेशन मार्क वाला प्रॉपर्टी नाम;
  • सिंगल कोटेशन मार्क वाली स्ट्रिंग;
  • प्रॉपर्टी या ऐरे एलिमेंट के बीच कॉमा का गायब होना;
  • स्ट्रिंग के अंदर बिना एस्केप किया हुआ डबल कोटेशन मार्क या बैकस्लैश;
  • अधूरा ऑब्जेक्ट, ऐरे या स्ट्रिंग;
  • अमान्य UTF-8 इनपुट या स्ट्रिंग के अंदर रॉ कंट्रोल कैरेक्टर;
  • पूर्णांक वाले हिस्से में अनावश्यक शुरुआती शून्य, जैसे 01 या -01, अथवा NaN जैसे ऐसे मान जो JSON में मान्य नहीं हैं।

खाली फील्ड मान्य JSON नहीं है। इसके विपरीत, 42, true, null या "hello" जैसा कोई अकेला मान भी मान्य JSON है, भले ही वह ऑब्जेक्ट या ऐरे न हो। बहुत अधिक गहराई तक नेस्ट की गई सामग्री डिकोडर की नेस्टिंग सीमा से बाहर भी जा सकती है।

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

JSON सत्यापनकर्ता और सौंदर्यीकरण उपकरण टूल से बना नतीजे का उदाहरण

JSON के व्यावहारिक उदाहरण

मान्य कॉम्पैक्ट इनपुट:

{"name":"Ada","active":true,"roles":["admin","editor"]}

सौंदर्यीकृत नतीजे में प्रॉपर्टी और ऐरे एलिमेंट अलग-अलग इंडेंट किए गए स्तरों पर दिखाई देते हैं। इनके मान क्रमशः स्ट्रिंग, बूलियन और ऐरे ही रहते हैं। फॉर्मैटिंग से केवल प्रस्तुति बदलती है, मूल डेटा प्रकार नहीं।

अंत में अतिरिक्त कॉमा वाला अमान्य इनपुट:

{"name":"Ada","active":true,}

यह सत्यापन विफल होगा, क्योंकि JSON में अंतिम प्रॉपर्टी के बाद कॉमा लगाने की अनुमति नहीं है। ऑब्जेक्ट को मान्य बनाने के लिए वह कॉमा हटा दें।

अगर इनपुट मान्य UTF-8 है, तो उच्चारण चिह्नों वाला और गैर-लैटिन टेक्स्ट सीधे JSON स्ट्रिंग में लिखा जा सकता है। उदाहरण के लिए, {"city":"Zürich","greeting":"こんにちは"} मान्य है। \u00fc जैसा JSON एस्केप नोटेशन भी कुछ Unicode कैरेक्टर दिखाने का एक मान्य तरीका है। हालांकि, Basic Multilingual Plane से बाहर के कैरेक्टर के लिए सरोगेट पेयर जरूरी होते हैं।

JSON को सुंदर ढंग से फॉर्मैट करना कब उपयोगी नहीं है?

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

पहले से कॉम्पैक्ट JSON को मिनिफाई करने का भी खास लाभ नहीं है। बार-बार मिनिफाई करने से तय प्रॉपर्टी नाम या स्ट्रिंग मान छोटे नहीं हो सकते, और उन मानों को बदलने पर डेटा बदल जाएगा। JSON डेटा के बजाय डिप्लॉय किए जाने वाले JavaScript के लिए JS मिनिफायर अधिक उपयुक्त है।

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

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

क्या JSON में टिप्पणियां लिख सकते हैं?

नहीं। मानक JSON में टिप्पणियों के लिए कोई सिंटैक्स नहीं है, इसलिए // comment और /* comment */ से सत्यापन विफल हो जाता है। अगर कॉन्फिगरेशन फाइल में टिप्पणियां जरूरी हैं, तो ऐसा फॉर्मैट इस्तेमाल करें जिसमें वे परिभाषित हों। दूसरा विकल्प है कि सामग्री को सख्त JSON पार्सर में भेजने से पहले टिप्पणियां हटा दें।

क्या एक ही नाम वाली प्रॉपर्टी दोबारा आने पर JSON अस्वीकार हो जाएगा?

जरूरी नहीं। JSON विनिर्देश के अनुसार किसी ऑब्जेक्ट में सदस्य नाम अद्वितीय होने चाहिए, लेकिन पार्सर डुप्लिकेट नामों को हमेशा भरोसेमंद तरीके से सिंटैक्स त्रुटि नहीं मानते। PHP डिकोडिंग में आम तौर पर बाद वाला मान रखा जाता है। इसलिए अगर हर बार आए मान को सुरक्षित रखना जरूरी है, तो सत्यापन से पहले डुप्लिकेट नामों का पता लगाएं।

क्या JSON Lines फाइल को सत्यापित कर सकते हैं?

एक JSON दस्तावेज के रूप में नहीं। JSON Lines, जिसे NDJSON भी कहते हैं, में हर लाइन पर अलग JSON मान होता है, जबकि सामान्य JSON पार्सर एक ही शीर्ष-स्तरीय मान की अपेक्षा करता है। हर लाइन को अलग-अलग सत्यापित करें या रिकॉर्ड को एक JSON ऐरे में बदलें।

क्या ऑब्जेक्ट की प्रॉपर्टी का क्रम मायने रखता है?

ऐप्लिकेशन को JSON ऑब्जेक्ट की प्रॉपर्टी के क्रम पर निर्भर नहीं रहना चाहिए। ऐरे क्रमबद्ध होते हैं, लेकिन ऑब्जेक्ट नाम वाले सदस्यों के संग्रह को दर्शाते हैं। कोई दूसरा पार्सर या सीरियलाइजर उन सदस्यों को अलग क्रम में आउटपुट कर सकता है। अगर क्रम का कोई अर्थ है, तो मानों को ऐरे में रखें।

JSON फाइल सही दिखने के बावजूद सत्यापन में विफल क्यों होती है?

अदृश्य बाइट-ऑर्डर मार्क, खराब UTF-8 या बिना एस्केप किया हुआ कंट्रोल कैरेक्टर देखने में सही लगने वाले टेक्स्ट को भी विफल कर सकता है। टर्मिनल से कॉपी करने पर स्टेटस लेबल या टाइमस्टैम्प जैसे प्रीफिक्स भी जुड़ सकते हैं। रॉ बाइट की जांच करें या फाइल को ऐसे एडिटर में खोलें जो एन्कोडिंग और कंट्रोल कैरेक्टर दिखा सके।

अंतिम जांच

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

साझा करें

लोकप्रिय उपकरण