DevToolPal
हि

JSON Lines से JSON कन्वर्टर

JSON Lines (JSONL, NDJSON) को JSON ऐरे में और JSON ऐरे को वापस JSON Lines में बदलें; एरर लाइन नंबर के साथ दिखते हैं।

लोकल रूप से चलता है, कभी अपलोड नहीं होता

विकल्प

दिशा
इंडेंट

इनपुट

0 कैरेक्टर · 0 B

आउटपुट

0 कैरेक्टर · 0 B

यह क्या करता है

JSON Lines (जिसे JSONL या NDJSON भी कहते हैं) हर लाइन में एक JSON वैल्यू रखता है। यह लॉग, डेटा एक्सपोर्ट, स्ट्रीमिंग API, BigQuery और Elasticsearch बल्क लोड, और OpenAI फ़ाइन-ट्यूनिंग फ़ाइलों जैसे मशीन-लर्निंग डेटासेट का पसंदीदा फ़ॉर्मैट है, क्योंकि प्रोग्राम पूरी फ़ाइल लोड किए बिना एक-एक रिकॉर्ड पढ़ या जोड़ सकता है।

लेकिन कई टूल एक ही JSON ऐरे चाहते हैं। यह कन्वर्टर JSON Lines को फ़ॉर्मैट किए JSON ऐरे में बदलता है, और JSON ऐरे को वापस JSON Lines में, हर लाइन में एक कॉम्पैक्ट रिकॉर्ड के साथ।

इस्तेमाल कैसे करें

  1. दिशा चुनें: JSON Lines → JSON या JSON → JSON Lines।
  2. अपना डेटा पेस्ट करें, .jsonl, .ndjson या .json फ़ाइल अपलोड करें, या उदाहरण पर क्लिक करें।
  3. JSON आउटपुट के लिए 2 या 4 स्पेस का इंडेंट चुनें, या एक लाइन के लिए कॉम्पैक्ट।
  4. नतीजा कॉपी या डाउनलोड करें, या वापस बदलने के लिए इनपुट के रूप में इस्तेमाल करें दबाएँ।

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

उदाहरण

JSON Lines की ये तीन लाइनें:

{"id": 1, "event": "signup"}
{"id": 2, "event": "login"}
{"id": 3, "event": "logout"}

इस JSON ऐरे में बदल जाती हैं:

[
  {
    "id": 1,
    "event": "signup"
  },
  {
    "id": 2,
    "event": "login"
  },
  {
    "id": 3,
    "event": "logout"
  }
]

उलटी दिशा में ऐरे का हर एलिमेंट बिना स्पेस के एक लाइन में लिखा जाता है और फ़ाइल नई लाइन पर ख़त्म होती है।

कब कौन-सा इस्तेमाल करें

जब रिकॉर्ड एक-एक करके बनते या पढ़े जाते हैं तब JSON Lines इस्तेमाल करें: लॉग में जोड़ना, नतीजे स्ट्रीम करना, बड़े डेटासेट को कई वर्कर में बाँटना, या grep, head और wc -l जैसे लाइन-आधारित टूल से प्रोसेस करना। जब प्रोग्राम को पूरा संग्रह एक साथ चाहिए तब JSON ऐरे इस्तेमाल करें, जैसे कॉन्फ़िगरेशन फ़ाइल, टेस्ट डेटा या किसी REST एंडपॉइंट का रिस्पॉन्स बॉडी।

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

› JSONL, NDJSON और JSON Lines में क्या फ़र्क है?

ये एक ही फ़ॉर्मैट के नाम हैं: हर लाइन में एक पूरी JSON वैल्यू, जिन्हें नई लाइन से अलग किया जाता है। JSON Lines (.jsonl) और newline-delimited JSON (.ndjson) में सिर्फ़ नाम और फ़ाइल एक्सटेंशन का फ़र्क है।

› क्या खाली लाइनें चल सकती हैं?

पढ़ते समय खाली लाइनें और आख़िरी नई लाइन छोड़ दी जाती हैं। Windows लाइन एंडिंग (CRLF) और UTF-8 BOM भी संभाले जाते हैं।

› मेरी फ़ाइल फ़ॉर्मैट की हुई JSON है और एक ऑब्जेक्ट कई लाइनों में फैला है। एरर क्यों आता है?

JSON Lines में हर वैल्यू एक ही लाइन में होनी चाहिए। अगर इनपुट सामान्य JSON ऐरे है तो दिशा JSON → JSON Lines कर दें; अगर यह फ़ॉर्मैट किए ऑब्जेक्ट की शृंखला है तो पहले उन्हें एक ऐरे में रखें।

› क्या कन्वर्ज़न से संख्याएँ या कुंजियों का क्रम बदलता है?

नहीं। वैल्यू और कुंजियों का क्रम वैसा ही रहता है; सिर्फ़ स्पेस बदलते हैं। JavaScript की सुरक्षित सीमा (लगभग 9 क्वाड्रिलियन) से बड़े पूर्णांक, ब्राउज़र के किसी भी JSON टूल की तरह, सटीकता खो सकते हैं।