JSON को फ़ॉर्मैट करें और जाँचें
JSON को पढ़ने में आसान बनाएँ, उसका सिंटैक्स जाँचें या संक्षिप्त संस्करण बनाएँ। यह गाइड इंडेंटेशन, कुंजियों की छँटाई और परिणाम सहेजने का तरीका बताती है।
दिया गया नमूना आज़माएँ
order-options.json डाउनलोड करें। यह दो वस्तुओं वाला काल्पनिक ऑर्डर है और इसके फ़ील्ड के नाम अंग्रेज़ी में हैं। customer ऑब्जेक्ट में नाम और शहर हैं; items ऐरे में पहले CARD-02 और फिर BOX-01 है। नमूने में उद्धरण चिह्नों के भीतर टेक्स्ट, संख्यात्मक मात्राएँ और कीमतें, बूलियन true और खाली डिलीवरी नोट के लिए null शामिल हैं। छँटाई के विकल्प का असर दिखाने के लिए फ़ील्ड जानबूझकर बिना छँटाई के रखे गए हैं।
चरण-दर-चरण
- JSON फ़ॉर्मैटर और वैलिडेटर खोलें। दिए गए order-options.json को खोलने के लिए फ़ाइल का इस्तेमाल करें या फ़ाइल की सामग्री आपके इनपुट में पेस्ट करें।
- हर स्तर पर दो स्पेस के लिए इंडेंटेशन को 2 पर सेट करें। पहली बार ऑब्जेक्ट कुंजियाँ क्रम में लगाएँ को अनचेक रहने दें।
- इनपुट प्रोसेस करें चुनें। परिणाम दिखाने से पहले टूल JSON का सिंटैक्स जाँचता है। अगर त्रुटि दिखे, तो पंक्ति और कॉलम की मदद से समस्या ढूँढें, इनपुट सुधारें और दोबारा कोशिश करें।
- परिणाम पढ़ें। customer ऑब्जेक्ट और दोनों वस्तुएँ समझने में आसान होनी चाहिए, हर पंक्ति में एक फ़ील्ड या सूची का एक आइटम होगा। छँटाई अनचेक होने पर फ़ील्ड नमूने का क्रम बनाए रखते हैं।
- formatted.json सहेजने के लिए परिणाम डाउनलोड करें चुनें। परिणाम को दूसरे एडिटर में ले जाने के लिए टेक्स्ट कॉपी करें भी इस्तेमाल कर सकते हैं।
- डाउनलोड की गई फ़ाइल टेक्स्ट एडिटर में खोलें और नीचे दी गई जाँचों से नमूने के साथ तुलना करें। फिर इंडेंटेशन और छँटाई के दूसरे विकल्प आज़माएँ। हर बदलाव के बाद दोबारा इनपुट प्रोसेस करें चुनें।
पहले और बाद के उदाहरण
ये छोटे उदाहरण order-options.json के customer ऑब्जेक्ट को एक छोटे JSON दस्तावेज़ के रूप में दिखाते हैं। हर सेटिंग से पहले और बाद में उसी नाम और शहर की तुलना करें। अंत में वैकल्पिक संदर्भ अनुभाग पूरा ऑर्डर दिखाता है।
संक्षिप्त JSON को पढ़ने में आसान बनाएँ
इंडेंटेशन को 2 पर सेट करें, ऑब्जेक्ट कुंजियाँ क्रम में लगाएँ को अनचेक रहने दें और इनपुट प्रोसेस करें चुनें। परिणाम में लाइन ब्रेक और हर स्तर पर दो स्पेस जुड़ते हैं, जबकि फ़ील्ड का मूल क्रम बना रहता है।
पहले: संक्षिप्त इनपुट
{"customer":{"name":"Zoë","city":"Bergen"}}बाद में: दो स्पेस का इंडेंटेशन
{
"customer": {
"name": "Zoë",
"city": "Bergen"
}
}ऑब्जेक्ट के भीतर कुंजियाँ क्रमबद्ध करें
इंडेंटेशन को 2 पर रखें, ऑब्जेक्ट कुंजियाँ क्रम में लगाएँ को चेक करें और इनपुट प्रोसेस करें चुनें। customer के भीतर अब city, name से पहले आता है। दोनों मान समान रहते हैं।
पहले: कुंजियों का मूल क्रम
{
"customer": {
"name": "Zoë",
"city": "Bergen"
}
}बाद में: ऑब्जेक्ट की क्रमबद्ध कुंजियाँ
{
"customer": {
"city": "Bergen",
"name": "Zoë"
}
}JSON को संक्षिप्त बनाएँ
इंडेंटेशन में छोटा करें चुनें, ऑब्जेक्ट कुंजियाँ क्रम में लगाएँ को अनचेक रहने दें और इनपुट प्रोसेस करें चुनें। फ़ॉर्मैटिंग के स्पेस और लाइन ब्रेक हट जाते हैं; टेक्स्ट और फ़ील्ड का क्रम समान रहता है।
पहले: दो स्पेस का इंडेंटेशन
{
"customer": {
"name": "Zoë",
"city": "Bergen"
}
}बाद में: छोटा करें
{"customer":{"name":"Zoë","city":"Bergen"}}इंडेंटेशन चुनें
| विकल्प | इसका काम |
|---|---|
| 2 | हर नेस्टिंग स्तर के लिए दो स्पेस इस्तेमाल करता है। मुख्य चरणों में यही सेटिंग इस्तेमाल होती है। |
| 4 | हर नेस्टिंग स्तर के लिए चार स्पेस इस्तेमाल करता है, जिससे अंदर के ऑब्जेक्ट और ऐरे अधिक स्पष्ट दिखते हैं। |
| ↹ | हर नेस्टिंग स्तर के लिए एक टैब इस्तेमाल करता है। टैब की दिखने वाली चौड़ाई आपके टेक्स्ट एडिटर पर निर्भर करती है। |
| छोटा करें | फ़ॉर्मैटिंग के स्पेस और लाइन ब्रेक हटाता है। उद्धरण चिह्नों के भीतर टेक्स्ट के स्पेस उसी टेक्स्ट का हिस्सा रहते हैं। संक्षिप्त आउटपुट के लिए यह विकल्प चुनें और फिर इनपुट प्रोसेस करें चुनें। |
इनपुट या कोई विकल्प बदलने पर पिछला परिणाम साफ़ हो जाता है। नई सेटिंग के साथ परिणाम बनाने के लिए फिर इनपुट प्रोसेस करें चुनें। टूल हर बार इनपुट क्षेत्र पढ़ता है; पिछले परिणाम को अपने आप इनपुट में वापस नहीं डालता।
ऑब्जेक्ट की कुंजियाँ क्रमबद्ध करें
हर ऑब्जेक्ट के फ़ील्ड का मूल क्रम रखने के लिए ऑब्जेक्ट कुंजियाँ क्रम में लगाएँ को अनचेक रहने दें। चेक करने पर यह पूरे दस्तावेज़ में कुंजियों को बड़े और छोटे अक्षरों का अंतर रखते हुए टेक्स्ट क्रम में लगाता है, ऐरे के भीतर के ऑब्जेक्ट भी शामिल हैं। ऐरे के आइटम खुद अपना मूल क्रम बनाए रखते हैं।
- इंडेंटेशन को 2 पर रखें, ऑब्जेक्ट कुंजियाँ क्रम में लगाएँ को चेक करें और इनपुट प्रोसेस करें चुनें।
- शीर्ष स्तर की कुंजियाँ अब customer, deliveryNote, items, order और paid के क्रम में हैं। customer के भीतर city, name से पहले आता है। हर वस्तु में price, quantity और sku से पहले आता है।
- items ऐरे में अब भी पहले CARD-02 और फिर BOX-01 है। कुंजियों की छँटाई वस्तुओं को sku या कीमत के अनुसार नहीं छाँटती।
कॉपी करें, डाउनलोड करें और फिर शुरू करें
| विकल्प | इसका काम |
|---|---|
| टेक्स्ट कॉपी करें | मौजूदा परिणाम को टेक्स्ट के रूप में कॉपी करता है। अगर कॉपी उपलब्ध न हो, तो टूल परिणाम चुन देता है ताकि आप उसे मैन्युअल रूप से कॉपी कर सकें। |
| परिणाम डाउनलोड करें | मौजूदा परिणाम formatted.json के रूप में सहेजता है। फ़ॉर्मैट किए गए, संक्षिप्त और क्रमबद्ध परिणामों के लिए यही नाम इस्तेमाल होता है। कई संस्करण रखने हों तो फ़ाइलों के नाम बदल दें। |
| परिणाम प्रिंट करें | परिणाम के टेक्स्ट के लिए ब्राउज़र का प्रिंट डायलॉग खोलता है। |
| उदाहरण लोड करें | इनपुट को टूल के पहले से मौजूद उदाहरण से बदलता है और मौजूदा सेटिंग के साथ प्रोसेस करता है। यह उदाहरण इस गाइड के order-options.json से अलग है। |
| सभी हटाएँ | इनपुट, चुनी गई फ़ाइल और परिणाम साफ़ करता है। इंडेंटेशन और छँटाई के विकल्प चुने हुए रहते हैं। |
डाउनलोड किए गए JSON की जाँच करें
- formatted.json को टेक्स्ट एडिटर में खोलें। पुष्टि करें कि ऑर्डर ORD-1042 है, ग्राहक Bergen में Zoë है और दो वस्तुएँ हैं।
- मान और उनके प्रकार जाँचें: quantity पहले संख्या 2 और फिर 1 है, कीमतें 19.50 और 5.00 रहती हैं, paid बिना उद्धरण चिह्नों का बूलियन true है और deliveryNote बिना उद्धरण चिह्नों का null है। उद्धरण चिह्नों में नाम और वस्तुओं के कोड स्ट्रिंग बने रहते हैं।
- ऑब्जेक्ट कुंजियाँ क्रम में लगाएँ आज़माने के बाद ऊपर बताए फ़ील्ड क्रम की पुष्टि करें और देखें कि items ऐरे में CARD-02 अब भी BOX-01 से पहले है।
- छोटा करें और इनपुट प्रोसेस करें आज़माएँ। परिणाम वापस आपके इनपुट में पेस्ट करें, इंडेंटेशन को 2 पर सेट करें और फिर इनपुट प्रोसेस करें चुनें। मान और वस्तुओं के क्रम की मूल नमूने से तुलना करें; फ़ॉर्मैटिंग के विकल्प इन्हें बनाए रखने चाहिए।
सवाल और समस्या समाधान
टूल अमान्य JSON क्यों बताता है?
बताई गई पंक्ति और कॉलम के साथ उस जगह से ठीक पहले का फ़ील्ड भी जाँचें। कुंजियों और टेक्स्ट के लिए दोहरे उद्धरण चिह्न चाहिए; फ़ील्ड के लिए कॉमा और कोलन चाहिए; वर्गाकार और घुँघराले ब्रैकेट बंद होने चाहिए। इनपुट सुधारें और फिर इनपुट प्रोसेस करें चुनें। सत्यापन JSON का सिंटैक्स जाँचता है, इसलिए मान्य परिणाम में भी आपके ऐप के लिए ज़रूरी फ़ील्ड गायब हो सकते हैं।
क्या टिप्पणियाँ या अंत में कॉमा इस्तेमाल कर सकते हैं?
टिप्पणियाँ और बंद होने वाले वर्गाकार या घुँघराले ब्रैकेट से ठीक पहले का कॉमा हटाएँ। ये JSON में मान्य नहीं हैं। फ़ॉर्मैटर को मान्य इनपुट चाहिए और वह उसे अपने आप ठीक नहीं करता।
दोहराई गई कुंजी की चेतावनी का क्या अर्थ है?
“दोहराई गई कुंजियाँ सुरक्षित रखी गईं। कुछ रीडर दोहराई गई कुंजियाँ हटा देते हैं।” संदेश का मतलब है कि एक ही ऑब्जेक्ट में कोई कुंजी एक से ज़्यादा बार है। फ़ॉर्मैटर इन प्रविष्टियों को रखता है और चेतावनी देता है। स्रोत देखें, इच्छित मान चुनें और अतिरिक्त प्रविष्टि हटाएँ; दूसरा ऐप इनमें से केवल एक रख सकता है।
मेरी फ़ाइल क्यों नहीं खुलती या प्रोसेस नहीं होती?
इनपुट की सीमा 2 MiB, यानी 2,097,152 बाइट है। स्थानीय टेक्स्ट फ़ाइलें UTF-8 में होनी चाहिए। अगर टूल डेटा को बहुत जटिल बताए, तो नेस्टिंग या प्रविष्टियों की संख्या घटाएँ। बड़े इनपुट को छोटे, पूरे JSON दस्तावेज़ों में बाँटें; किसी ऑब्जेक्ट या ऐरे के बीच से न काटें।
लंबी संख्याएँ दूसरे ऐप में क्यों बदलती हैं?
नीचे दिए अलग सटीकता नमूने में 9007199254740993 और 0.10000000000000001 हैं। यह फ़ॉर्मैटर हर इंडेंटेशन और छँटाई विकल्प में इन संख्याओं का टेक्स्ट बिल्कुल बनाए रखता है। exact-numbers.json फ़ॉर्मैट करें और टेक्स्ट एडिटर में परिणाम की तुलना exact-numbers-formatted.json से करें। परिणाम आयात करने वाला ऐप फिर भी संख्याएँ राउंड कर सकता है, इसलिए पुष्टि करें कि वह आवश्यक सटीकता का समर्थन करता है। 00123 जैसे शुरुआती शून्य वाले कोड को JSON में उद्धरण चिह्नों के भीतर स्ट्रिंग होना चाहिए।
क्या फ़ॉर्मैटिंग पहले से राउंड अंक वापस ला सकती है?
फ़ॉर्मैटिंग उन अंकों को वापस नहीं ला सकती जो टेक्स्ट टूल तक पहुँचने से पहले राउंड या हटाए गए थे। मूल स्रोत पर लौटें और पूरा मान फिर से निर्यात करें। अगर मान मात्रा के बजाय पहचानकर्ता है, तो स्ट्रिंग इस्तेमाल करने से उसे प्राप्त करने वाले ऐप सभी अंक बनाए रख सकते हैं।
वैकल्पिक: नमूने और संदर्भ आउटपुट की तुलना
ये कोड उदाहरण और डाउनलोड order-options.json से उसी फ़ॉर्मैटर द्वारा बनाए गए हैं जो टूल के पेज पर है। फ़ॉर्मैट किए गए और संक्षिप्त संदर्भों में कुंजियों की छँटाई बंद है; क्रमबद्ध संदर्भ दो स्पेस के इंडेंटेशन और चालू छँटाई का इस्तेमाल करता है।
मूल नमूना
{"order":"ORD-1042", "customer": {"name":"Zoë","city":"Bergen"}, "items":[{"sku":"CARD-02", "quantity":2,"price":19.50},{"sku":"BOX-01","quantity":1, "price":5.00}], "paid":true, "deliveryNote":null}
दो स्पेस; कुंजियों का मूल क्रम
{
"order": "ORD-1042",
"customer": {
"name": "Zoë",
"city": "Bergen"
},
"items": [
{
"sku": "CARD-02",
"quantity": 2,
"price": 19.50
},
{
"sku": "BOX-01",
"quantity": 1,
"price": 5.00
}
],
"paid": true,
"deliveryNote": null
}छोटा करें; कुंजियों का मूल क्रम
{"order":"ORD-1042","customer":{"name":"Zoë","city":"Bergen"},"items":[{"sku":"CARD-02","quantity":2,"price":19.50},{"sku":"BOX-01","quantity":1,"price":5.00}],"paid":true,"deliveryNote":null}दो स्पेस; ऑब्जेक्ट की क्रमबद्ध कुंजियाँ
{
"customer": {
"city": "Bergen",
"name": "Zoë"
},
"deliveryNote": null,
"items": [
{
"price": 19.50,
"quantity": 2,
"sku": "CARD-02"
},
{
"price": 5.00,
"quantity": 1,
"sku": "BOX-01"
}
],
"order": "ORD-1042",
"paid": true
}| संदर्भ फ़ाइल | सेटिंग | बाइट |
|---|---|---|
| order-formatted.json | दो स्पेस; कुंजियों का मूल क्रम | 300 |
| order-minified.json | छोटा करें; कुंजियों का मूल क्रम | 193 |
| order-sorted.json | दो स्पेस; ऑब्जेक्ट की क्रमबद्ध कुंजियाँ | 300 |
ये वास्तविक टेक्स्ट परिणाम हैं, इंटरफ़ेस के स्क्रीनशॉट नहीं। स्क्रीन की चौड़ाई के अनुसार कोड अगली पंक्ति में दिख सकता है। संदर्भ फ़ाइलों के नाम उदाहरणों को अलग पहचान देते हैं; टूल हर संस्करण formatted.json के नाम से डाउनलोड करता है।