JSONL फ़ॉर्मेटर
फ़ॉर्मैट किया गया परिणाम यहाँ दिखाई देगा।
हर गैर-खाली पंक्ति एक पूर्ण JSON ऑब्जेक्ट होनी चाहिए।
लॉग, सत्र आर्काइव और स्ट्रीमिंग एक्सपोर्ट के लिए बना हल्का JSONL फ़ॉर्मेटिंग पेज। बाईं ओर लाइन से अलग किए गए JSON ऑब्जेक्ट पेस्ट करें और दाईं ओर हर रिकॉर्ड का फ़ॉर्मेटेड परिणाम तुरंत देखें, साथ ही यह भी कि कौन-सी पंक्ति खराब है।
संबंधित सुझाव
JSONL फ़ॉर्मेटिंग क्या है?
JSONL (JSON Lines) एक टेक्स्ट प्रारूप है जो JSON रिकॉर्ड को पंक्तिवार संगठित करता है। इसकी मूल विशेषता «JSON जैसा दिखना» नहीं, बल्कि «हर रिकॉर्ड अपनी पंक्ति पर होना» है। वास्तविक इंजीनियरिंग में यह लगभग हमेशा «हर गैर-रिक्त पंक्ति एक पूर्ण JSON ऑब्जेक्ट है» के रूप में दिखता है, जहाँ ऑब्जेक्ट न्यूलाइन से अलग होते हैं, न कि `[{...},{...}]` जैसे बड़े ऐरे में लपेटे जाते हैं।
यह संगठन लॉग, इवेंट स्ट्रीम, सत्र आर्काइव, बल्क एक्सपोर्ट और स्ट्रीम प्रोसेसिंग के लिए विशेष रूप से उपयुक्त है: प्रोग्राम को पूरी फ़ाइल मेमोरी में पढ़ने की ज़रूरत नहीं, बस पंक्ति-दर-पंक्ति पढ़कर रिकॉर्ड उपभोग करने होते हैं। कोई पंक्ति खराब हो तो सीधे उसका क्रमांक मिल जाता है, बजाय एक अति-दीर्घ JSON ऐरे में अंधाधुंध ब्रैकेट गिनने और कॉमा ढूँढने के।
JSONL फ़ॉर्मेटिंग सामान्य JSON फ़ॉर्मेटिंग से भिन्न है। सामान्य फ़ॉर्मेटर मानता है कि इनपुट एक संपूर्ण JSON दस्तावेज़ है; JSONL फ़ॉर्मेटर को पंक्ति-दर-पंक्ति पार्स, सत्यापित और त्रुटि रिपोर्ट करनी होती है, साथ ही न्यूलाइन-विभाजित रिकॉर्ड सिमेंटिक्स बनाए रखनी होती है। लॉग और एक्सपोर्ट फ़ाइलों के लिए यह अंतर बहुत महत्वपूर्ण है।
यह पेज इसी वास्तविक सिमेंटिक्स के इर्द-गिर्द डिज़ाइन किया गया है: बाईं ओर पंक्ति-विभाजित ऑब्जेक्ट रिकॉर्ड डालें, दाईं ओर प्रति-रिकॉर्ड फ़ॉर्मेटेड परिणाम दिखे, जबकि खराब, कटी और गैर-ऑब्जेक्ट पंक्तियाँ सीधे इंगित की जाएँ। इस प्रकार `.jsonl` फ़ाइल जाँचते समय आपको दिखता है कि «किस रिकॉर्ड में समस्या है», न कि एक सामान्य `SyntaxError` मिलता है।
उपयोग के मामले
- एप्लिकेशन लॉग से एक्सपोर्ट किए गए JSONL को रिकॉर्ड-दर-रिकॉर्ड सुंदर बनाकर फ़ील्ड जाँचें, बजाय एक ही पंक्ति में दबे लंबे ऑब्जेक्ट अनुक्रम को घूरने के
- ऐसी सत्र आर्काइव फ़ाइलों की जाँच करें जहाँ हर पंक्ति एक इवेंट ऑब्जेक्ट है, और पुष्टि करें कि हर रिकॉर्ड पूर्ण और पठनीय है
- जब डेटा पाइपलाइन, ट्रैकिंग प्लेटफ़ॉर्म या Elasticsearch बल्क एक्सपोर्ट विफल हो, तो तुरंत पता करें कि किस पंक्ति का JSON ऑब्जेक्ट गलत लिखा है
- स्ट्रीमिंग आउटपुट इंटरफ़ेस डीबग करते समय जाँचें कि सर्वर सचमुच «प्रति पंक्ति एक ऑब्जेक्ट» लगातार दे रहा है, न कि आधा ऑब्जेक्ट समय से पहले भेज रहा है
- टर्मिनल, मॉनिटरिंग पैनल या क्लाउड लॉग प्लेटफ़ॉर्म से कॉपी किया NDJSON पेस्ट करें; पहले संरचना व्यवस्थित करें फिर जाँच जारी रखें
- जाँचें कि AI द्वारा बनाई पंक्ति-दर-पंक्ति ऑब्जेक्ट परिणामों में किसी पंक्ति में गलती से ऐरे, स्ट्रिंग या अधूरा JSON तो नहीं घुसा
- ClickHouse, BigQuery, Kafka Connect जैसी पंक्ति-स्तरीय रिकॉर्ड पर निर्भर प्रक्रियाओं में आयात से पहले JSONL सामग्री को स्वयं जाँच लें
- ऑडिट लॉग, जोखिम इवेंट या ट्रैकिंग इवेंट स्ट्रीम की समीक्षा में रिकॉर्ड-दर-रिकॉर्ड देखें कि ऑब्जेक्ट संरचना स्थिर और सुसंगत है या नहीं
- जब JSONL फ़ाइल कटी हो या डाउनलोड अधूरा हो, तुरंत देखें कि अंतिम कौन-सा ऑब्जेक्ट बंद नहीं हुआ
- आंतरिक टूल से एक्सपोर्ट लाइन-डिलिमिटेड JSON को पहले फ़ॉर्मेट करें, फिर कोड समीक्षा या डेटा मिलान के लिए सहकर्मी को भेजें
- JSONL पार्स करने वाली स्क्रिप्ट लिखने से पहले फ़ील्ड स्तर, नेस्टेड ऑब्जेक्ट और ऐरे की स्थिति स्वयं सुनिश्चित करें, जिससे स्क्रिप्ट डीबगिंग का समय घटे
- रिक्त और खराब पंक्तियाँ मिली ऐतिहासिक एक्सपोर्ट फ़ाइलों में पहले संरचनात्मक समस्याएँ छाँटें, फिर तय करें कि CSV में बदलें या डेटाबेस आयात करें
उपयोग कैसे करें
- JSONL या NDJSON सामग्री इनपुट क्षेत्र में पेस्ट करें; सुनिश्चित करें कि हर गैर-रिक्त पंक्ति एक स्वतंत्र JSON ऑब्जेक्ट हो
- दाईं ओर तुरंत पंक्ति-दर-पंक्ति फ़ॉर्मेटिंग होगी और खराब पंक्तियों पर पंक्ति क्रमांक, त्रुटि संदेश और मूल रिकॉर्ड दिखेगा
- संकेतों के अनुसार संबंधित पंक्तियाँ तब तक ठीक करें जब तक अवैध पंक्तियों की संख्या शून्य न हो जाए
- सब वैध होने की पुष्टि के बाद पूरा फ़ॉर्मेटेड परिणाम कॉपी करें, या डेटा को अगली स्क्रिप्ट, इम्पोर्टर और विश्लेषण प्रक्रिया में भेजें
विशेषताएं
- JSONL / NDJSON को पंक्ति-दर-पंक्ति पार्स करता है; डेटा को पहले हाथ से `[{...},{...}]` जैसे पूर्ण JSON ऐरे में लपेटने की ज़रूरत नहीं
- वास्तविक फ़ाइल सिमेंटिक्स «हर गैर-रिक्त पंक्ति एक JSON ऑब्जेक्ट है» के अनुसार सत्यापित करता है, जो लॉग, इवेंट स्ट्रीम और सत्र आर्काइव जैसे सामान्य डेटा रूपों के अनुकूल है
- बाएँ-दाएँ दो-कॉलम लेआउट: बाईं ओर `textarea` इनपुट, दाईं ओर तुरंत फ़ॉर्मेटेड परिणाम — सुधारते हुए देखने के लिए उपयुक्त
- खराब पंक्तियाँ सीधे पंक्ति क्रमांक, पार्स त्रुटि और मूल सामग्री दिखाती हैं, जिससे कटे रिकॉर्ड, गुम ब्रैकेट और जुड़ाव त्रुटियाँ तेज़ी से ठीक होती हैं
- कॉपी तभी खुलती है जब सभी गैर-रिक्त पंक्तियाँ वैध हों, ताकि आंशिक रूप से सही और आंशिक रूप से टूटा डेटा अगली प्रक्रियाओं में न जाए
- कुल पंक्तियों, गैर-रिक्त पंक्तियों, वैध और अवैध पंक्तियों की अंतर्निहित गणना देता है, जिससे बड़ी फ़ाइल में कितने रिकॉर्ड टूटे हैं, यह तुरंत पता चलता है
- उदाहरण डेटा शामिल है, ताकि पहली बार खोलते ही JSONL फ़ॉर्मेटिंग आज़मा सकें
- सारा प्रसंस्करण ब्राउज़र में स्थानीय रूप से होता है; लॉग, सत्र इवेंट और API एक्सपोर्ट सामग्री अपलोड नहीं होती
JSONL फ़ॉर्मेटर बनाम JSON फ़ॉर्मेटर बनाम JSON रिपेयर
ये टूल अक्सर एक के बाद एक उपयोग होते हैं, पर अलग समस्याएँ हल करते हैं। सही प्रवेश बिंदु चुनने से काफ़ी समय बचता है।
| टूल | सबसे उपयुक्त इनपुट | मुख्य क्षमता | उपयोग परिदृश्य |
|---|---|---|---|
| JSONL फ़ॉर्मेटर | प्रति पंक्ति एक JSON ऑब्जेक्ट | रिकॉर्ड-दर-रिकॉर्ड सत्यापन और सुंदर बनाना | लॉग, NDJSON, सत्र आर्काइव, स्ट्रीमिंग एक्सपोर्ट |
| JSON फ़ॉर्मेटर | एक पूर्ण JSON ऑब्जेक्ट या ऐरे | पूरे JSON दस्तावेज़ को सुंदर बनाना | API प्रतिक्रियाएँ, कॉन्फ़िगरेशन फ़ाइलें, एकल payload |
| JSON रिपेयर | सिंटैक्स त्रुटियों या गैर-मानक JSON टेक्स्ट | पहले सिंटैक्स ठीक करें फिर अगले टूल को दें | ट्रेलिंग कॉमा, टिप्पणियाँ, कोट समस्याएँ, कटा JSON |
Best Practices
डीबग करते समय मूल JSONL रूप बनाए रखें, केवल समझने के लिए हाथ से ऐरे में न लपेटें
यदि डाउनस्ट्रीम सिस्टम JSONL लेता है, तो मूल «प्रति पंक्ति एक रिकॉर्ड» रूप में ही जाँच करें। ऐरे में लपेटने से वह सामान्य फ़ॉर्मेटर में तो जाता है, पर मूल पंक्ति क्रमांक सिमेंटिक्स खो जाती है और वास्तविक खराब पंक्ति स्थिति से मिलान कठिन हो जाता है।
बड़ी फ़ाइल में पहले अंतिम कुछ पंक्तियाँ देखें
कई JSONL फ़ाइलों में बीच में संरचना त्रुटि नहीं होती; स्ट्रीम टूटने, डाउनलोड विफल होने या अधूरे लेखन के कारण अंतिम पंक्तियाँ कटी होती हैं। अंतिम कुछ रिकॉर्ड पहले देखना आमतौर पर पूरी फ़ाइल शुरू से पलटने से तेज़ होता है।
यदि इनपुट में सिंगल कोट, टिप्पणियाँ या JSON5 शैली है, तो पहले JSON रिपेयर से गुज़ारना समय बचाता है
JSONL पेज पंक्ति-दर-पंक्ति ऑब्जेक्ट सत्यापन पर केंद्रित है; यदि स्रोत डेटा मूल रूप से मानक JSON नहीं है, तो लंबी फ़ाइल की हर पंक्ति हाथ से ठीकने की तुलना में पहले रिपेयर फिर फ़ॉर्मेट करना अधिक कुशल होता है।
पुनः आयात की तैयारी में «प्रति पंक्ति एक ऑब्जेक्ट» ट्रांसपोर्ट सिमेंटिक्स अवश्य बनाए रखें
दाईं ओर का बहु-पंक्ति सुंदर ब्लॉक मानव पढ़ने के लिए अधिक अनुकूल है, पर यदि आप डेटा को वापस लॉग सिस्टम, संदेश कतार या इम्पोर्टर में लिखेंगे, तो पूर्वावलोकन रूप को अंतिम ट्रांसपोर्ट प्रारूप न बनाकर स्रोत की एक-ऑब्जेक्ट-प्रति-पंक्ति संरचना बनाए रखें।
पूरी फ़ाइल आँखों से पढ़ने के बजाय पंक्ति क्रमांक को मुख्य सुराग बनाएँ
वास्तविक जाँच में सबसे तेज़ तरीका आमतौर पर पहले खराब पंक्ति क्रमांक पकड़ना और उस रिकॉर्ड की तुलना पड़ोसी वैध रिकॉर्ड से करना है। इससे तेज़ी से पता चलता है कि ब्रैकेट या कोट गुम है, फ़ील्ड कटी है, या किसी ऑब्जेक्ट में गलत प्रकार घुसा है।
सामान्य प्रश्न
JSON और JSONL में क्या अंतर है?
सामान्य JSON आमतौर पर एक पूरा ऑब्जेक्ट या ऐरे होता है जिसे एक संपूर्ण दस्तावेज़ के रूप में एक साथ पार्स करना पड़ता है; जबकि JSONL (JSON Lines, जिसे NDJSON भी कहते हैं) में प्रति पंक्ति एक स्वतंत्र रिकॉर्ड होता है, और इंजीनियरिंग व्यवहार में सबसे आम रूप है «प्रति पंक्ति एक JSON ऑब्जेक्ट»। यह लॉग, इवेंट स्ट्रीम, स्ट्रीम प्रोसेसिंग और बल्क आयात के लिए बेहतर उपयुक्त है, क्योंकि पंक्ति-दर-पंक्ति पढ़ना, लिखना और त्रुटि ढूँढना संभव है।
यह पेज «प्रति पंक्ति एक JSON ऑब्जेक्ट» पर ज़ोर क्यों देता है?
क्योंकि वास्तविक दुनिया की अधिकांश JSONL फ़ाइलें इसी तरह संगठित होती हैं, खासकर लॉग, सत्र आर्काइव, इवेंट स्ट्रीम और एक्सपोर्ट फ़ाइलें। आपके आर्काइव नमूने भी इसी विशिष्ट रूप में हैं: हर पंक्ति एक ऑब्जेक्ट है जो न्यूलाइन से अलग होती है। पेज इसी सिमेंटिक्स पर सत्यापित करता है, जो किसी भी JSON मान को ढीले रूप से स्वीकारने से कहीं अधिक वास्तविक डीबगिंग परिदृश्य के अनुकूल है।
JSONL, `[{...},{...}]` जैसे JSON ऐरे से कैसे भिन्न है?
JSON ऐरे एक संपूर्ण JSON दस्तावेज़ है जिसे पार्स से पहले पूरा पढ़ना पड़ता है; JSONL हर ऑब्जेक्ट को स्वतंत्र पंक्ति रिकॉर्ड में बाँटता है, स्ट्रीम से पढ़ा जा सकता है और किसी रिकॉर्ड के विफल होने पर सीधे उस पंक्ति तक पहुँचना आसान होता है। बड़ी लॉग फ़ाइलों और इवेंट स्ट्रीम के लिए JSONL एक बड़े ऐरे से बेहतर उपयुक्त है।
रिक्त पंक्तियाँ क्यों अनदेखा की जाती हैं?
रिक्त पंक्तियाँ आमतौर पर कॉपी-पेस्ट, लॉग रोटेशन या हाथ से संपादन से आती हैं और वास्तविक डेटा रिकॉर्ड का प्रतिनिधित्व नहीं करतीं। उन्हें अनदेखा करने से शोर घटता है, जबकि सामग्री वाली सभी पंक्तियों की कड़ी जाँच जारी रहती है।
यदि कोई पंक्ति ऐरे, स्ट्रिंग या `null` हो तो क्या होगा?
यह पेज उसे अवैध पंक्ति मानेगा, क्योंकि लक्ष्य प्रारूप है «हर गैर-रिक्त पंक्ति एक JSON ऑब्जेक्ट है»। यदि आपके डेटा को वास्तव में पंक्ति-दर-पंक्ति ऐरे या अपरिष्कृत मान संग्रह करने हैं, तो वह उस विशिष्ट JSONL लॉग परिदृश्य में नहीं आता जिसके लिए यह पेज अनुकूलित है।
एक खराब पंक्ति होने पर पूरा परिणाम सीधे कॉपी क्यों नहीं कर सकते?
यह जानबूझकर रखा गया रूढ़िवादी व्यवहार है। कॉपी की अनुमति तभी है जब सभी गैर-रिक्त पंक्तियाँ वैध हों, ताकि आंशिक रूप से सफल और आंशिक रूप से टूटा परिणाम अगले इम्पोर्टर, स्क्रिप्ट या सहकर्मी तक न जाए और दोबारा जाँच का झंझट बचे।
क्या यह कटी हुई लॉग फ़ाइलें ढूँढने में मदद करता है?
हाँ। कई JSONL समस्याएँ अंतिम कुछ पंक्तियों में होती हैं, जैसे किसी ऑब्जेक्ट में `}` गुम होना, स्ट्रिंग में क्लोज़िंग कोट गुम होना या नेटवर्क स्ट्रीम बीच में टूट जाना। पेज संबंधित खराब पंक्ति को सीधे उजागर करता है, जो अधूरे डाउनलोड और टूटे स्ट्रीम आउटपुट के लिए विशेष रूप से उपयोगी है।
क्या JSONL और NDJSON एक ही चीज़ हैं?
अधिकांश इंजीनियरिंग संदर्भों में इन्हें पर्यायवाची माना जा सकता है। दोनों का मतलब न्यूलाइन से अलग किए गए JSON रिकॉर्ड ही है; बस नामकरण की आदत अलग है।
JSONL फ़ॉर्मेट करते समय क्या मेरा डेटा अपलोड होता है?
नहीं। सारा पार्सिंग, सत्यापन और फ़ॉर्मेटिंग केवल ब्राउज़र में स्थानीय रूप से चलता है; लॉग, API प्रतिक्रियाएँ, सत्र आर्काइव और डेटा एक्सपोर्ट किसी सर्वर पर नहीं भेजे जाते।
सामान्य JSON फ़ॉर्मेटर के बजाय JSONL फ़ॉर्मेटर का उपयोग कब करें?
यदि इनपुट स्वयं एक पूर्ण JSON ऑब्जेक्ट या ऐरे है, जैसे API प्रतिक्रिया बॉडी, कॉन्फ़िगरेशन फ़ाइल या `[{...},{...}]` जैसा डेटा पैकेट, तो सामान्य JSON फ़ॉर्मेटिंग पेज का उपयोग करें; यह JSONL पेज तभी अधिक उपयुक्त है जब इनपुट न्यूलाइन से अलग किए गए ऑब्जेक्ट रिकॉर्ड हों।
शब्दकोश
- JSONL
- एक टेक्स्ट प्रारूप जिसमें JSON रिकॉर्ड पंक्तियों से अलग होते हैं। सबसे आम इंजीनियरिंग रूप: हर गैर-रिक्त पंक्ति एक पूर्ण JSON ऑब्जेक्ट हो।
- JSON Lines
- JSONL का पूरा नाम और एक अन्य सामान्य पर्याय, जिसे आमतौर पर JSONL का समानार्थी माना जाता है।
- NDJSON
- Newline Delimited JSON, जिसका शाब्दिक अर्थ है «न्यूलाइन से अलग JSON»। अधिकांश लॉग और डेटा पाइपलाइन परिदृश्यों में JSONL के लगभग समतुल्य।
- पंक्तिवार रिकॉर्ड
- डेटा लेआउट जिसमें हर पंक्ति एक पूर्ण रिकॉर्ड हो; स्ट्रीम राइट/रीड और पंक्ति-स्तरीय त्रुटि स्थानन के लिए उपयुक्त।
- Pretty Print / सुंदर फ़ॉर्मेटिंग
- संपीड़ित एक-पंक्ति JSON को इंडेंटेशन और न्यूलाइन के साथ पठनीय संरचना में पुनर्व्यवस्थित करना, ताकि फ़ील्ड स्तर आसानी से देखे जा सकें।
- खराब पंक्ति
- ऐसी पंक्ति जो वैध JSON नहीं, या पार्स होने पर भी अपेक्षित संरचना (जैसे ऑब्जेक्ट न हो) के अनुरूप नहीं, इसलिए वैध JSONL रिकॉर्ड नहीं बन सकती।
- कटी स्ट्रीम
- वह लॉग या एक्सपोर्ट जो ट्रांसमिशन, फ़्लश या सेव के दौरान बीच में टूट गया हो, जिससे अंतिम रिकॉर्ड पूरी तरह बंद न हुआ हो।
- JSON ऐरे
- मानक JSON में `[` और `]` से घिरा एक पूरा संग्रह, उदाहरण के लिए `[{...},{...}]`। JSONL के विपरीत इसे एक ही दस्तावेज़ के रूप में पार्स करना पड़ता है।
Authoritative References
- jsonlines.orgJSON Lines आधिकारिक विवरण
- IETFJSON आधिकारिक विनिर्देश RFC 8259
- JSON कंप्रेस करें
- CSV से JSON
- JSON से CSV
- JSON Diff
- JSON Escape / Unescape
- JSON फ़्लैटन
- JSON फ़ॉर्मेटर
- JSONL फ़ॉर्मेटर
- JSON जनरेटर
- JSONPath क्वेरी
- JSON मर्ज
- JSON मरम्मत
- JSON Schema Validator
- JSON सॉर्ट
- JSON Stringify
- JSON से HTML
- JSON से Java
- JSON से Markdown
- JSON से SQL
- JSON से TOML
- JSON से TypeScript
- XML को JSON में बदलें
- JSON को XML में बदलें
- YAML से JSON
- JSON → YAML
- JSON से Go
- JSON से Rust
- JSON to Swift
- JSON से C#
- JSON से C++
- JSON से PHP
- JSON से Python