तुलना
JSON Lines या JSON
JSON Lines (newline-delimited JSON) UTF-8 टेक्स्ट परंपरा है जिसमें हर पंक्ति पर एक स्वतंत्र वैध JSON मान होता है। सामान्य JSON टेक्स्ट कुल मिलाकर एक मान दर्शाता है, इसलिए JSON Lines कई रिकॉर्ड को क्रमशः संसाधित और जोड़ने के लिए उपयोगी है।
कौन-सा फ़ॉर्मैट चुनें?
लॉग या इवेंट को एक-एक रिकॉर्ड संसाधित और जोड़ना हो तो JSON Lines पर विचार करें। एक कॉन्फ़िगरेशन दस्तावेज़ या पूर्ण नेस्टेड object/array के लिए सामान्य JSON लें।
इसके लिए उपयुक्त JSON Lines
पंक्ति-दर-पंक्ति संसाधित लॉग और रिकॉर्ड · JSON रिकॉर्ड का स्ट्रीमिंग आदान-प्रदान
- रिकॉर्ड को क्रमशः पढ़ना और लिखना
- सामान्य टूल से पाठ डेटा जोड़ना या मिलाना
इसके लिए उपयुक्त JSON
वेब API, कॉन्फ़िगरेशन फाइलें और डेटा विनिमय
- संरचित डेटा भेजना
मूल जानकारी
| मद | JSON Lines | JSON |
|---|---|---|
| एक्सटेंशन | .jsonl, .ndjson | .json |
| MIME प्रकार | application/jsonl | application/json |
| सामान्य उपयोग | पंक्ति-दर-पंक्ति संसाधित लॉग और रिकॉर्ड · JSON रिकॉर्ड का स्ट्रीमिंग आदान-प्रदान | वेब API, कॉन्फ़िगरेशन फाइलें और डेटा विनिमय |
| कैसे खोलें | टेक्स्ट संपादक या JSON Lines-संगत टूल में खोलें। हर पंक्ति को JSON के रूप में जाँचने से त्रुटि वाला रिकॉर्ड ढूँढ़ना आसान होता है। | इसे टेक्स्ट एडिटर, IDE या JSON समर्थित व्यूअर में खोलें। |
| निर्यात या रूपांतरण | JSON ऐरे बनाने के लिए पंक्तियों को ऐरे के तत्वों के रूप में रखें। ऐरे को JSON Lines में बदलते समय हर मान अलग पंक्ति में लिखें। बड़ी फ़ाइलों में मेमोरी उपयोग पर ध्यान दें। | एप्लिकेशन या रूपांतरण उपकरण इसे CSV जैसे प्रारूपों में बदल सकते हैं। |
उपयोग के अनुसार चुनें
रिकॉर्ड को क्रमशः पढ़ना और लिखना
पंक्ति-दर-पंक्ति संसाधित लॉग और रिकॉर्ड · JSON रिकॉर्ड का स्ट्रीमिंग आदान-प्रदान
JSON Linesसामान्य टूल से पाठ डेटा जोड़ना या मिलाना
पंक्ति-दर-पंक्ति संसाधित लॉग और रिकॉर्ड · JSON रिकॉर्ड का स्ट्रीमिंग आदान-प्रदान
JSON Linesसंरचित डेटा भेजना
वेब API, कॉन्फ़िगरेशन फाइलें और डेटा विनिमय
JSONमुख्य बिंदु 1
JSON Lines की हर पंक्ति एक वैध JSON मान के रूप में parse होनी चाहिए। object सामान्य हैं, लेकिन string, number, null और अन्य JSON मान भी वैध हैं; खाली पंक्ति रिकॉर्ड नहीं है। सामान्य JSON टेक्स्ट कुल एक मान दर्शाता है।
अंतर के बारे में विस्तार सेमुख्य बिंदु 2
JSON Lines UTF-8 उपयोग करता है और मानों के बीच LF रखता है; JSON whitespace नियम से CRLF भी समर्थित है। अंतिम newline सुझाई जाती है पर अनिवार्य नहीं, इसलिए जोड़ने और stream सीमा का व्यवहार तय करें।
अंतर के बारे में विस्तार सेअंतर के बारे में विस्तार से
यदि प्राप्तकर्ता समर्थन करे तो प्रति-रिकॉर्ड पाइपलाइन और आसानी से जोड़े जाने वाले लॉग के लिए JSON Lines चुनें। एक संरचित दस्तावेज़ के लिए JSON लें। JSON Lines को पंक्ति-दर-पंक्ति parse करें; पूरी फ़ाइल को एक मानक JSON दस्तावेज़ न मानें।
- JSON Lines फ़ाइल में newline से अलग कई शीर्ष-स्तरीय JSON मान होते हैं, इसलिए सामान्य JSON document parser पूरी फ़ाइल को अस्वीकार कर सकता है।
- क्रम, खाली या malformed पंक्तियों, खराब रिकॉर्ड के बाद पुनर्प्राप्ति, और अंतिम पंक्ति के terminator की आवश्यकता तय करें।
- JSON Lines UTF-8 उपयोग करता है और BOM नहीं रखता। सुझाया गया `application/jsonl` media type अभी मानकीकृत नहीं है; उपभोक्ताओं से transport metadata तय करें।
अक्सर पूछे जाने वाले प्रश्न
क्या JSON Lines फ़ाइल केवल JSON array है?
नहीं। यह newline से अलग JSON मानों का क्रम है, एक JSON array दस्तावेज़ नहीं; हर पंक्ति अलग संसाधित हो सकती है।