JSON को CSV में बदलें
या सबटाइटल टेक्स्ट पेस्ट करें
यह रूपांतरण क्या बदलता है
3 चीज़ें छूटती हैं या फ़ैसला माँगती हैं
- स्टाइलिंग
सारी स्टाइलिंग (बोल्ड, इटैलिक, रंग, आउटलाइन, छाया)
- स्थान
स्क्रीन पर स्थान (हर क्यू डिफ़ॉल्ट जगह पर लौट आता है)
- कराओके
कराओके टाइमिंग (प्रति-अक्षर हाइलाइट)
यह सूची इन दोनों फ़ॉर्मैट के क्षमता मैट्रिक्स से आती है, आपकी लोड की गई उस फ़ाइल से नहीं। कोई खास फ़ाइल ज़्यादा खो सकती है अगर वह ऐसी सुविधाएँ इस्तेमाल करती हो जिन्हें फ़ॉर्मैट अनुमति देता है पर मैट्रिक्स मॉडल नहीं करता।
इस पेज पर JSON फ़ाइल डालिए और CSV फ़ाइल पाइए। JSON में हर cue के समय 4000 जैसे पूर्णांक मिलीसेकंड हैं, और styles तालिका तथा tags सरणी सब कुछ संरचित रूप में रहता है। CSV में हेडर पंक्ति के बाद हर cue एक row है जिसमें start, end और text कॉलम होते हैं।
जो नहीं बचता: सारी स्टाइलिंग (बोल्ड, इटैलिक, रंग, आउटलाइन, छाया), स्क्रीन पर स्थिति (हर cue डिफ़ॉल्ट जगह पर लौटती है), कराओके समय (अक्षर-दर-अक्षर हाइलाइट)। JSON के रंग, आउटलाइन, छाया और मार्जिन CSV में कोई स्तंभ नहीं पाते; JSON का {\pos(320,240)} CSV में कोई जगह नहीं पाता और हर cue डिफ़ॉल्ट स्थान पर लौटती है; कराओके की अक्षर-दर-अक्षर अवधि चली जाती है, इसलिए CSV पूरा cue एक साथ दिखाता है। ये चीज़ें चुपचाप नहीं गिरतीं — फ़ाइल डालने से पहले ही ऊपर की सूची में लिखी रहती हैं।
CSV Spreadsheet की फ़ाइल .csv एक्सटेंशन के साथ बनती है; start, end, text वाले कॉलम और हेडर पंक्ति बनती है। एक फ़ाइल हो या पूरी सीरीज़, कतार एक-एक करके चलती है, बीच में रोकी जा सकती है, और नतीजे एक ZIP में आते हैं। रूपांतरण आपके ब्राउज़र में होता है, इसलिए फ़ाइल कहीं अपलोड नहीं होती।
उदाहरण
एक सामान्य JSON फ़ाइल, CSV में बदली गई
इनपुट
{
"version": 1,
"title": "Fixture: typical",
"fps": 25,
"styles": {
"Default": {
"name": "Default",
"fontFamily": "Arial",
"fontSize": 20,
"primaryColor": "#FFFFFF",
"bold": false,
"italic": false
}
},
"generator": "subtitlematrix fixtures",
"cues": [
{
"id": "1",
"start": 0,
"end": 2000,
"lines": [
"Hello world.",
"Second line."
],
"style": "Default",
"position": {
"x": 100,
"y": 200,
"align": "center"
}
},
{
"id": "2",
"start": 2500,
"end": 4000,
"lines": [
"Plain line.",
{
"text": "Styled line.",
"tags": [
{
"kind": "italic",
"start": 0,
"end": 6
}
]
}
]
},
{
"id": "3",
"start": 4500,
"end": 6000,
"lines": [
"Roger: I am here."
],
"speaker": "Roger"
}
]
}
आउटपुट
start,end,text
00:00:00.000,00:00:02.000,"Hello world.
Second line."
00:00:02.500,00:00:04.000,"Plain line.
<i>Styled</i> line."
00:00:04.500,00:00:06.000,Roger: I am here.
इस आउटपुट में छूटा: स्टाइलिंग, स्क्रीन स्थिति, कराओके। बाकी सब पंक्ति-दर-पंक्ति मेल खाता है।
JSON से CSV: वही रूपांतरण एक कठिन इनपुट पर
इनपुट
[
{ "start": 0, "end": 1000, "lines": ["First."] },
{ "start": 1000, "end": 2000, "text": "Second." },
"not an object",
{ "start": 2000, "end": 3000, "lines": ["Third."], "class": "top" }
]
आउटपुट
start,end,text
00:00:00.000,00:00:01.000,First.
00:00:01.000,00:00:02.000,Second.
00:00:02.000,00:00:03.000,Third.
असली JSON फ़ाइलों में BOM, मिश्रित पंक्ति-अंत, खाली क्षेत्र या बिगड़ा समय-कोड मिलता है। ऊपर की साफ़ मिसाल से मिलाकर देखिए कि पार्सर कितना माफ़ करता है और क्या रिपोर्ट करता है।
अक्सर पूछे जाने वाले सवाल
CSV में समय लिखने का तरीका JSON से कितना अलग है?
JSON का 4000 मिलीसेकंड CSV में 00:00:04.000 बनता है; दोनों में क्षण एक ही रहता है। कोई पूर्णांकन नहीं होता, क्योंकि CSV की घड़ी JSON से महीन या बराबर है।
JSON की स्टाइल-तालिका CSV में कहाँ जाती है?
CSV का मॉडल सिर्फ़ समय और पाठ है, इसलिए JSON की स्टाइल-तालिका का कोई अर्थ वहाँ नहीं रहता। फ़ॉन्ट, आकार, रंग, आउटलाइन, छाया और मार्जिन सब गिर जाते हैं; JSON के इनलाइन {i1}/{1} जैसे ज़ोर भी CSV में अपने आप नहीं बनते।
JSON की कौन-सी चीज़ें CSV में नहीं जातीं?
इस दिशा में 3 तरह की जानकारी गिरती है: सारी स्टाइलिंग (बोल्ड, इटैलिक, रंग, आउटलाइन, छाया), स्क्रीन पर स्थिति (हर cue डिफ़ॉल्ट जगह पर लौटती है), कराओके समय (अक्षर-दर-अक्षर हाइलाइट)। मिसाल के लिए, JSON का {\pos(320,240)} और उसका रंग CSV में अपना स्थान नहीं पाते। यह सूची आपकी फ़ाइल डालने से पहले ही दिखती है, और फ़ाइल आने के बाद उसमें बताया जाता है कि उसमें से कितनी चीज़ें वाकई मौजूद थीं।
JSON से CSV बनाने पर कौन-से कॉलम बनते हैं?
CSV में हेडर पंक्ति start, end, text के साथ बनती है और हर JSON cue एक row बनती है। समय 00:00:04.000 जैसे बिंदु वाले रूप में जाता है, और पाठ वाले कॉलम में अल्पविराम भीतर हो तो उसे उद्धरण में लपेटा जाता है।
JSON की cues का क्रम CSV में बदलता है या नहीं?
cues शुरुआती समय के क्रम में लिखी जाती हैं, इसलिए JSON में अगर कोई cue क्रम से बाहर थी तो CSV में वह अपनी सही जगह पर लौट आती है। एक cue के भीतर की पंक्तियाँ अलग नहीं होतीं, क्योंकि दोनों फ़ॉर्मैट हार्ड लाइन-ब्रेक रख सकते हैं।
क्या CSV से JSON में वापस बदलने पर छूटी जानकारी लौट आती है?
हाँ, उलटी दिशा भी सुरक्षित है: CSV से JSON में जाने पर भी कुछ नहीं छूटता, क्योंकि दोनों एक ही जानकारी रखते हैं। फिर भी इस दिशा में जो पहले छूटा था वह वापस नहीं आता — गिरी हुई जानकारी किसी फ़ाइल में बची ही नहीं होती।