ข้ามไปยังเนื้อหาหลัก
SubtitleMatrix

แปลง CSV เป็น JSON

หรือวางข้อความคำบรรยาย

การแปลงนี้เปลี่ยนอะไร

ไม่มีอะไรสูญหายในทิศทางนี้ — ทุกคุณสมบัติของรูปแบบต้นทางมีที่ไปในรูปแบบปลายทาง

รายการนี้มาจากเมทริกซ์ความสามารถของสองรูปแบบนี้ ไม่ได้มาจากไฟล์ที่คุณโหลด ไฟล์หนึ่งอาจสูญหายมากกว่าหากใช้คุณสมบัติที่รูปแบบอนุญาตแต่เมทริกซ์ไม่ได้จำลอง

หน้านี้แปลง CSV เป็น JSON คุณลากไฟล์มาวางหรือวางข้อความลงไป แล้วรับไฟล์ JSON กลับคืน การแปลงทั้งหมดทำงานในเบราว์เซอร์ ไม่มีการอัปโหลดและไม่ต้องมีบัญชี

ทิศทางนี้ไม่สูญเสียอะไร: ทุกอย่างที่ CSV แสดงออกได้มีสิ่งที่เทียบเท่าใน JSON ผลลัพธ์จึงเป็นคำบรรยายชุดเดียวกันในกล่องที่ต่างออกไป — ไทม์ไลน์ การขึ้นบรรทัดใหม่ และข้อความยังอยู่ครบ ใช้ได้กับไฟล์ CSV ทุกไฟล์ รวมถึงไฟล์ที่ใช้ทุกคุณสมบัติที่รูปแบบอนุญาต ไฟล์เดียวหรือทั้งซีซันก็ได้: คิวจะประมวลผลตามลำดับและดาวน์โหลดผลลัพธ์รวมเป็น 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."
      ]
    }
  ]
}

ไม่มีการสูญหายที่นี่ เทียบสองฝั่งทีละบรรทัด

การแปลงเดียวกันกับข้อมูลที่ยุ่งเหยิง

ข้อมูลนำเข้า

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 กลายเป็น JSON?

เหมือน JSON: อาร์เรย์ของออบเจ็กต์คิว แต่ละตัวมี `id`, `start` และ `end` ของตัวเอง ทุกคิว CSV กลายเป็นหนึ่งคิว JSON ตามลำดับเดิม ด้วยข้อความเดิม

ไทม์โค้ด CSV แม่นยำในไฟล์ JSON ไหม?

แม่นถึงมิลลิวินาที — ซึ่งละเอียดที่สุดที่ทั้งสองรูปแบบทำได้ CSV เขียนเวลาเป็น `00:00:04.126` และ JSON เขียนช่วงเวลาเดียวกันเป็น `4126` ไม่มีการปัดหรือเลื่อนระหว่างกัน และคิวที่เคยอยู่บนจอ 2.9 วินาทีก็ยังคงเป็น 2.9 วินาที

คิว CSV ที่มีสองบรรทัดออกมาเป็นอย่างไรใน JSON?

เป็นสองรายการในอาร์เรย์ `lines` ของคิว คู่บรรทัดยังคงอยู่ — สองบรรทัดของ CSV ยังเป็นคำบรรยายเดียวกันในผลลัพธ์ และโปรแกรมเล่นแสดงพร้อมกัน

คิว CSV ยังคงลำดับเดิมในผลลัพธ์ JSON หรือไม่?

ใช่ และถูกเรียงตามเวลาเริ่มระหว่างทาง — เริ่มก่อนอยู่ก่อน ซึ่งเป็นลำดับที่ทุกรูปแบบบนเว็บนี้คาดหวังและโปรแกรมเล่นอ่าน ถ้าไฟล์ CSV ของคุณเรียงคิวผิดลำดับ ผลลัพธ์ JSON จะจัดกลับให้ นั่นคือการเปลี่ยนโครงสร้างไฟล์ ไม่ใช่เนื้อหา และเป็นเจตนา

แปลง JSON กลับเป็น CSV ได้ไหม?

ได้ การแปลง JSON เป็น CSV ทำได้ แต่นั่นคือทิศทางที่สูญเสีย: สไตล์ ตำแหน่งและคาราโอเกะไม่มีที่ไปใน CSV ส่วนทางนี้ไม่เสียอะไร ต้นทุนจึงเกิดเฉพาะเมื่อคุณแปลงกลับ

ผลลัพธ์ JSON เก็บ encoding เดิมของไฟล์ CSV ไว้ไหม?

ไม่ — ผลลัพธ์เป็น UTF-8 ใช้การขึ้นบรรทัดแบบ Unix และไม่มี byte-order mark ไม่ว่าไฟล์ CSV จะใช้แบบไหน ไฟล์ที่มาเป็น UTF-16 หรือ encoding แบบไบต์เดียวของ Windows จะถูกถอดรหัสตอนอ่าน (แผงผลลัพธ์จะบอกเมื่อเกิดกรณีนั้น) สิ่งที่ออกมาคือ JSON แบบ UTF-8 เหมือนกันทุกครั้ง

เครื่องมือที่เกี่ยวข้อง