मुख्य सामग्री पर जाएँ
SubtitleMatrix

CSV को JSON में बदलें

या सबटाइटल टेक्स्ट पेस्ट करें

यह रूपांतरण क्या बदलता है

इस दिशा में कुछ नहीं छूटता — स्रोत फ़ॉर्मैट की हर सुविधा के लिए लक्ष्य फ़ॉर्मैट में कहीं जगह है।

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

इस पेज पर CSV फ़ाइल डालिए और JSON फ़ाइल पाइए। CSV में हेडर पंक्ति के बाद हर cue एक row है जिसमें start, end और text कॉलम होते हैं। JSON में हर cue के समय 4000 जैसे पूर्णांक मिलीसेकंड हैं, और styles तालिका तथा tags सरणी सब कुछ संरचित रूप में रहता है।

यहाँ कुछ नहीं छूटता: JSON हर वह चीज़ संरचित रूप में रख सकता है जो CSV में है — समय, पाठ, पंक्ति विराम और cue का क्रम। CSV का 00:00:04.000 JSON में 4000 जैसा पूर्णांक मिलीसेकंड बनता है।

SubtitleMatrix JSON की फ़ाइल .json एक्सटेंशन के साथ बनती है; version, styles और cues वाली संरचना बनती है और समय पूर्णांक मिलीसेकंड रहते हैं। एक फ़ाइल हो या पूरी सीरीज़, कतार एक-एक करके चलती है, बीच में रोकी जा सकती है, और नतीजे एक ZIP में आते हैं। रूपांतरण आपके ब्राउज़र में होता है, इसलिए फ़ाइल कहीं अपलोड नहीं होती।

उदाहरण

एक सामान्य CSV फ़ाइल, JSON में बदली गई

इनपुट

start,end,text
00:00:01.000,00:00:03.500,The quick brown fox.
00:00:04.000,00:00:06.250,"Jumps over, the lazy dog."
00:00:07.000,00:00:09.000,"Two lines here.
And a second one."

आउटपुट

{
  "version": 1,
  "cues": [
    {
      "start": 1000,
      "end": 3500,
      "lines": [
        "The quick brown fox."
      ]
    },
    {
      "start": 4000,
      "end": 6250,
      "lines": [
        "Jumps over, the lazy dog."
      ]
    },
    {
      "start": 7000,
      "end": 9000,
      "lines": [
        "Two lines here.",
        "And a second one."
      ]
    }
  ]
}

यहाँ कुछ नहीं छूटता: दोनों ओर की पंक्तियाँ एक-एक करके मिलाइए।

CSV से JSON: वही रूपांतरण एक कठिन इनपुट पर

इनपुट

id,start,end,note,text
1,00:00:01,000,00:00:04,000,cue one,"Hello there, friend."
2,00:00:05.000,00:00:07.000,cue two,Second line.
bad,notatime,00:00:09.000,cue three,Unreadable start.
4,00:00:10.000,00:00:09.000,cue four,End before start.
5,00:00:12.000,00:00:14.000,cue five,Unquoted comma in text, right here.

आउटपुट

{
  "version": 1,
  "cues": [
    {
      "id": "1",
      "start": 1000,
      "end": 4000,
      "lines": [
        "Hello there, friend."
      ]
    },
    {
      "id": "2",
      "start": 5000,
      "end": 7000,
      "lines": [
        "Second line."
      ]
    },
    {
      "id": "4",
      "start": 10000,
      "end": 10001,
      "lines": [
        "End before start."
      ]
    },
    {
      "id": "5",
      "start": 12000,
      "end": 14000,
      "lines": [
        "Unquoted comma in text, right here."
      ]
    }
  ]
}

असली CSV फ़ाइलों में BOM, मिश्रित पंक्ति-अंत, खाली क्षेत्र या बिगड़ा समय-कोड मिलता है। ऊपर की साफ़ मिसाल से मिलाकर देखिए कि पार्सर कितना माफ़ करता है और क्या रिपोर्ट करता है।

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

JSON में समय लिखने का तरीका CSV से कितना अलग है?

CSV का 00:00:04.000 JSON में 4000 जैसा पूर्णांक मिलीसेकंड बनता है। कोई पूर्णांकन नहीं होता, क्योंकि JSON की घड़ी CSV से महीन या बराबर है।

क्या CSV के cue क्रमांक JSON में बचते हैं?

CSV में cue की पहचान उसके स्थान और समय से है; JSON में भी cues शुरुआती समय के क्रम में लिखी जाती हैं। लक्ष्य अगर नंबर या पहचानकर्ता रखता है तो वह जोड़ा जा सकता है, पर किसी भी हालत में पाठ और समय की जोड़ी नहीं टूटती।

क्या CSV से JSON में कुछ भी नहीं छूटता?

कुछ नहीं छूटता, क्योंकि JSON CSV की हर जानकारी रख सकता है: cue का समय, पाठ, पंक्ति विराम और क्रम। CSV का 00:00:04.000 JSON में 4000 जैसा पूर्णांक मिलीसेकंड बनता है। यह क्षमता-स्तर का निष्कर्ष है; अगर आपकी CSV फ़ाइल में पार्स करते समय कोई खराब ब्लॉक पहले ही छूटा था, तो वह अलग रिपोर्ट में दिखेगा।

CSV से JSON बनाने पर समय किस रूप में लिखे जाते हैं?

JSON में हर CSV cue cues सरणी का एक ऑब्जेक्ट बनती है जिसमें start और end पूर्णांक मिलीसेकंड होते हैं, जैसे 4000। स्टाइल styles ऑब्जेक्ट में और रंग-ज़ोर tags सरणी में संरचित रूप में रखे जाते हैं।

CSV के हार्ड लाइन-ब्रेक JSON में बचते हैं?

दोनों फ़ॉर्मैट एक cue के भीतर हार्ड लाइन-ब्रेक रख सकते हैं, इसलिए CSV की दो पंक्तियाँ JSON में भी एक ही cue की दो पंक्तियाँ रहती हैं और एक साथ दिखती हैं। कुछ भी जोड़ा या तोड़ा नहीं जाता; बदलता सिर्फ़ समय का लिखावटी रूप है।

अगर बाद में JSON को CSV में बदलना हो तो क्या ध्यान रखें?

नहीं। JSON से CSV की उलटी दिशा में भी सारी स्टाइलिंग (बोल्ड, इटैलिक, रंग, आउटलाइन, छाया), स्क्रीन पर स्थिति (हर cue डिफ़ॉल्ट जगह पर लौटती है), कराओके समय (अक्षर-दर-अक्षर हाइलाइट) जैसी जानकारी गिरती है, क्योंकि दोनों फ़ॉर्मैट अलग-अलग चीज़ें रखते हैं और उलटी दिशा की अपनी कमियाँ हैं। और इस दिशा में CSV से JSON में जो छूटा — जैसे source की कुछ जानकारी JSON में जगह नहीं पाती — वह JSON में कहीं दर्ज नहीं है, इसलिए किसी भी उलटे रूपांतरण से उसे दोबारा नहीं बनाया जा सकता।

संबंधित टूल