YamlBox

JSON उपकरण · 6 मिनट पढ़ें

JSON फ़ॉर्मेटर: सुंदर, छोटा, और वास्तव में मान्य

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

अद्यतन

प्रिटी-प्रिंट: मनुष्यों और पुल अनुरोधों के लिए

इंडेंटेड JSON समीक्षा योग्य JSON है। अधिकांश जावास्क्रिप्ट कोडबेस में दो रिक्त स्थान कन्वेंशन है और `JSON.stringify(value, null, 2)` में डिफ़ॉल्ट से मेल खाता है; चार रिक्त स्थान इस तरह से कॉन्फ़िगर किए गए संपादकों के लिए उपयुक्त हैं। फ़ॉर्मेटिंग विकल्प एकरूपता से कम मायने रखता है, क्योंकि मिश्रित इंडेंटेशन हर बाद के अंतर को शोर में बदल देता है। यदि आपका JSON उत्पन्न हो गया है, तो जनरेटर में इंडेंटेशन को एक बार सेट करें और फ़ॉर्मेटर को चिपकाए गए पेलोड के लिए इसे स्थानीय रूप से लागू करने दें।

छोटा करें: तार पर पेलोड के लिए

JSON में व्हाइटस्पेस वैकल्पिक है, इसलिए इसे अलग करना निःशुल्क बचत है। 200 केबी API प्रतिक्रिया पर अंतर आमतौर पर 15-30 प्रतिशत बाइट्स होता है, जो तब मायने रखता है जब बजट मोबाइल कनेक्शन या कैश हेडर हो जिसका आप सम्मान करने का प्रयास कर रहे हों। किसी पेलोड को डेटाबेस कॉलम में संग्रहीत करने या उसे URL में एम्बेड करने से पहले छोटा करना भी सही कदम है - बस हाथ के बजाय निर्माण चरण के रूप में छोटा करें, क्योंकि हाथ से छोटा किया हुआ JSON वह जगह है जहां डिबगिंग खत्म हो जाती है।

सत्यापन: त्रुटियाँ जिनसे आप वास्तव में प्रभावित होंगे

JSON एक जानबूझकर छोटा व्याकरण है, यही कारण है कि इसकी त्रुटियां इतनी बार-बार दोहराई जाती हैं। लगभग हर अमान्य JSON त्रुटि जावास्क्रिप्ट या YAML से ली गई पाँच आदतों में से एक पर आधारित होती है:

  • अनुगामी अल्पविराम - `{"a": 1,}` वैध जावास्क्रिप्ट है और अमान्य JSON है।
  • एकल उद्धरण या गैर-उद्धृत कुंजी - `{a: 'b'}` को `{"a": "b"}` बनना चाहिए।
  • टिप्पणियाँ - `// note` और `/* note */` का JSON में कोई स्थान नहीं है।
  • न छोड़े गए नियंत्रण वर्ण - एक स्ट्रिंग के अंदर शाब्दिक नई लाइनें `\n` होनी चाहिए।
  • संयोजित वस्तुएँ - दो शीर्ष-स्तरीय वस्तुएँ अगल-बगल, आमतौर पर एक लॉग फ़ाइल से प्रति पंक्ति एक JSON दस्तावेज़ के साथ।

एक फ़ॉर्मेटर को आपको पंक्ति, कॉलम बताना चाहिए और अंश दिखाना चाहिए। केवल "अप्रत्याशित टोकन" आपको स्क्रॉल करने पर मजबूर कर देता है; "पंक्ति 84, कॉलम 17 - } से पहले अनुगामी अल्पविराम" एक समस्या है।

डिबग करने से पहले सत्यापन क्यों करें?

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

बड़ी फ़ाइलें और गोपनीयता

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

JSON फ़ॉर्मेटर - अक्सर पूछे जाने वाले प्रश्न

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

फ़ॉर्मेटिंग से केवल रिक्त स्थान बदलता है और दस्तावेज़ पार्स होने के बाद यह हमेशा सुरक्षित रहता है। मान्य करना यह जांचना है कि यह बिल्कुल पार्स करता है - एक फ़ॉर्मेटर जो आपके इनपुट को पार्स नहीं कर सकता है वह आउटपुट उत्पन्न करने के बजाय एक लाइन और कॉलम की रिपोर्ट करेगा, और वह रिपोर्ट उपयोगी हिस्सा है।

कितना छोटा किया गया है JSON?

आम तौर पर 15-30 प्रतिशत, यह इस बात पर निर्भर करता है कि दस्तावेज़ कितनी गहराई से निहित है और कुंजियाँ कितनी लंबी हैं। छोटा करना दोषरहित है: टोकन के बीच रिक्त स्थान का JSON में कोई अर्थ नहीं होता है, इसलिए एक छोटा दस्तावेज़ बिल्कुल उसी मान पर पार्स होता है।

क्या ब्राउज़र में रहस्यों वाले JSON को फ़ॉर्मेट करना सुरक्षित है?

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

इस पोस्ट में उल्लिखित उपकरण

19 टूल की पूरी सूची ब्राउज़ करें

पढ़ने के लिए और लेख

6 मिनट पढ़ें

JSON अंतर: डेटा की तुलना उस तरह से करना जैसे वह वास्तव में

एक संरचनात्मक JSON अंतर के साथ दो JSON पेलोड की तुलना करें जो कुंजी क्रम और रिक्त स्थान को अनदेखा करता है, स्थानांतरित मानों को हाइलाइट करता है, और दिखाता है कि पाठ भिन्न क्यों गुमराह करता है।

6 मिनट पढ़ें

JSON से JSON स्कीमा: नमूना पेलोड से अनुबंध तक

ब्राउज़र में JSON को JSON स्कीमा में कनवर्ट करें: वास्तविक पेलोड से एक ड्राफ्ट का अनुमान लगाएं, फिर आवश्यक फ़ील्ड, प्रारूप और एनम को सख्त करें - साथ ही अनुमान की सीमाएं भी।

6 मिनट पढ़ें

YAML से JSON: अपना दिमाग खोए बिना कॉन्फ़िगरेशन परिवर्तित करना

बहु-दस्तावेज़ समर्थन और सटीक त्रुटि स्थानों के साथ ब्राउज़र में YAML को JSON में कनवर्ट करें - साथ ही YAML गलतियाँ जो सीआई पाइपलाइनों को चुपचाप तोड़ देती हैं।

सभी 19 पोस्ट →