เครื่องมือแปลงไฟล์ CSV เป็น JSON

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

ตัวคั่น CSV
ผลลัพธ์

ไฟล์ที่แปลงแล้วและตัวอย่างการแสดงผลจะปรากฏที่นี่

พร้อมใช้งาน เลือกไฟล์ตารางที่ต้องการแปลง

วิธีการแปลงไฟล์

  • แถวแรกจะถูกอ่านเป็นส่วนหัว (header) — โดยข้อมูลในเซลล์จะกลายเป็นชื่อฟิลด์ของ JSON และแถวถัดๆ ไปจะกลายเป็นออบเจกต์แต่ละรายการครับ
  • เลือกตัวคั่นที่ตรงกับข้อมูลของคุณ — เครื่องหมายจุลภาค (comma), อัฒภาค (semicolon) หรือแท็บ (tab) ครับ

ไฟล์ตารางของคุณจะถูกแปลงภายในเบราว์เซอร์ของคุณ โดยไม่มีการอัปโหลดข้อมูลใดๆ ไปยัง BroBroGo

คำถามที่พบบ่อย

จะแปลงไฟล์ CSV เป็น JSON ได้อย่างไร?

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

ฉันสามารถแปลงไฟล์ขนาดใหญ่สุดได้เท่าใด?

รองรับขนาดไฟล์สูงสุด 8 MB, 10,000 แถว และ 200 คอลัมน์ต่อไฟล์ สำหรับชุดข้อมูลที่ใหญ่กว่านี้ แนะนำให้แบ่งเป็นไฟล์ย่อยๆ ก่อนทำการแปลงครับ

CSV เป็น JSON: แปลงตารางแบนให้กลายเป็นโครงสร้างแบบคีย์-ค่า

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

สิ่งที่ทำให้หน้านี้แตกต่างจากเครื่องมือแปลงไฟล์อื่น

1. CSV เก็บทุกอย่างเป็นข้อความ ไม่มีชนิดข้อมูลในตัว

CSV (Comma-Separated Values) เป็นฟอร์แมตที่เก็บเฉพาะข้อความล้วน ราคาสินค้า จำนวนคงเหลือ วันที่ หรือรหัสไปรษณีย์ที่ขึ้นต้นด้วยศูนย์ — ทุกอย่างถูกมองว่าเป็นสตริงทั้งสิ้น เมื่อแปลงเป็น JSON ตัวเลขอย่าง 1,000.50 หรือ 042 จะยังคงเป็นสตริง "1,000.50" และ "042" ในผลลัพธ์ กล่าวคือ ตัวแปลงนี้ไม่พยายามเดาชนิดข้อมูล หน้าที่แปลงสตริงเป็นตัวเลขหรือวันที่หลังจากดาวน์โหลดเป็นของคุณ

2. ไม่มีการสร้างโครงสร้างซ้อนกัน

CSV เป็นตารางแบบแบน (flat table) ดังนั้น JSON ที่ได้จึงเป็นอาร์เรย์แบนของออบเจกต์แบน เสมอ คุณจะไม่ได้ออบเจกต์ที่ซ้อนกันภายในออบเจกต์ (nested objects) ด้วยเครื่องมือนี้โดยตรง หากคุณต้องการ JSON แบบมีลำดับชั้น คุณต้องจัดการเพิ่มเติมหลังการแปลง ซึ่งต่างจากทิศทางตรงกันข้าม (JSON → CSV) ที่จำเป็นต้องทำให้โครงสร้างซ้อนกันแบนลง

3. ตัวคั่น (delimiter) เป็นตัวแปรสำคัญ

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

4. เครื่องหมายจุลภาคและขึ้นบรรทัดใหม่ที่ฝังอยู่ในข้อมูลเป็นจุดเปราะบาง

CSV มีกฎการใส่เครื่องหมายคำพูด (quoting) กำกับข้อมูลที่ประกอบด้วยจุลภาคหรือขึ้นบรรทัดใหม่ แต่กฎนี้ไม่ได้ถูกปฏิบัติตามอย่างเคร่งครัดในทุกไฟล์ ตัวอย่างเช่น ถ้าคุณมีฟิลด์ที่ขึ้นต้นด้วย " และลงท้ายด้วย " แต่มีจุลภาคหรือขึ้นบรรทัดใหม่ภายใน ตัวแยกวิเคราะห์บางตัวอาจตีความผิด ทำให้เกิด parsing error ที่พบได้บ่อยกว่าการแปลงระหว่างฟอร์แมตอื่น

อินพุต เอาต์พุต และตัวเลือกของผู้ใช้

  • อินพุต: ไฟล์ CSV (หรือ JSON หรือ XLSX ก็ได้ แต่สถานการณ์หลักคือ CSV → JSON) ระบบตรวจจับฟอร์แมตอินพุตอัตโนมัติ
  • ตัวเลือกของผู้ใช้: ตั้งค่ารูปแบบเอาต์พุตเป็น JSON และเลือกตัวคั่น (Comma, Semicolon, Tab) ถ้าอินพุตเป็น CSV
  • เอาต์พุต: ไฟล์ JSON มีหน้าตัวอย่างผลลัพธ์ แสดงจำนวนแถวและคอลัมน์ของตาราง และขนาดของไฟล์เอาต์พุต

กฎและกรณีขอบ (edge cases)

สถานการณ์ ข้อความที่แสดง
CSV แยกวิเคราะห์ไม่ได้ (quoting ผิด, จำนวนคอลัมน์ไม่ตรงกัน) "This CSV could not be parsed."
ไฟล์ไม่มีแถวข้อมูล "This file has no table rows."
เกินจำนวนแถวหรือคอลัมน์สูงสุด "This table has more than ‹max› rows." หรือ "This table has more than ‹max› columns."
ไฟล์มีขนาดใหญ่เกินไป "This file is too large. Use a file under ‹max›."
ไม่ได้เลือกไฟล์ "Choose one file first."
เลือกไฟล์ชนิดผิด "Choose a CSV, JSON or XLSX file."
การแปลงใช้เวลานานเกินไป "This conversion is taking too long. Try a smaller file."

หมายเหตุ: เครื่องมือนี้แยกวิเคราะห์เฉพาะข้อมูลที่มองเห็นได้จาก CSV ไม่มีการรันสูตรหรือคงรูปแบบ (เพราะ CSV ไม่มีรูปแบบเหล่านั้น) การขึ้นบรรทัดใหม่ภายในฟิลด์ที่ใช้เครื่องหมายคำพูดจะถูกเก็บเป็น \n ในค่าสตริงของ JSON และเลขศูนย์นำหน้าจะถูกคงไว้เพราะทุกฟิลด์ถูกปฏิบัติเป็นสตริง หากคุณนำ JSON ไปใช้ในสภาพแวดล้อมที่แปลงชนิดข้อมูลอัตโนมัติ เช่น JSON.parse() ใน JavaScript ศูนย์นำหน้าอาจหายไป

ใครควรใช้เครื่องมือนี้

  • นักพัฒนาที่ได้รับไฟล์ CSV จากฐานข้อมูลหรือสเปรดชีต และต้องป้อนข้อมูลเข้าสู่แอปพลิเคชัน JavaScript หรือ API ที่คาดหวัง JSON
  • นักวิเคราะห์ข้อมูลที่ต้องการแปลงไฟล์ที่อยู่แบบ CSV ที่มีรหัสไปรษณีย์ขึ้นต้นด้วยศูนย์ โดยคงเลขศูนย์ไว้
  • ทีมงานที่แบ่งปันข้อมูลตารางระหว่างเพื่อนร่วมงานที่ไม่ใช้เทคนิค (ใช้ Excel/CSV) และระบบเทคสแต็กที่อ่าน JSON โดยไม่ต้องอัปโหลดข้อมูลละเอียดอ่อนไปยังเซิร์ฟเวอร์
  • นักเรียนหรือนักวิจัยที่ต้องการแปลงตารางข้อมูลครั้งเดียวให้เป็นรูปแบบที่มีโครงสร้างสำหรับการบ้านเขียนโปรแกรม

คำถามที่พบบ่อย (FAQ)

ถาม: ทำไมตัวเลขใน CSV ถึงกลายเป็นสตริงใน JSON? ตอบ: CSV ไม่มีชนิดข้อมูล ค่าทั้งหมดเป็นข้อความ เครื่องมือนี้แปลงตามสภาพจริง ถ้าคุณต้องการตัวเลข ให้แปลงสตริงเป็นตัวเลขหลังดาวน์โหลดด้วย Number() หรือ parseInt() ในโค้ดของคุณ

ถาม: รหัสไปรษรณีย์ขึ้นต้นด้วยศูนย์ เช่น "042" จะหายไปไหม? ตอบ: ไม่หาย เพราะทุกฟิลด์ถูกเก็บเป็นสตริง ระบบจะคง "042" ไว้ แต่อย่าลืมว่าถ้าคุณใช้ JSON.parse() ใน JavaScript ที่แปลงสตริงที่ดูเหมือนตัวเลขเป็นตัวเลข ศูนย์นำหน้าจะหายไป

ถาม: ใช้เครื่องหมายจุลภาคในข้อมูลได้หรือไม่? ตอบ: ได้ ถ้าฟิลด์นั้นถูกครอบด้วยเครื่องหมายคำพูด ("...") แต่ถ้าไม่มีเครื่องหมายคำพูด ตัวแยกวิเคราะห์จะตีความจุลภาคเป็นตัวคั่นคอลัมน์ ทำให้ข้อมูลผิดเพี้ยน

ถาม: ถ้า CSV มีขึ้นบรรทัดใหม่ภายในเซลล์จะเกิดอะไรขึ้น? ตอบ: ถ้าเซลล์นั้นถูกครอบด้วยเครื่องหมายคำพูด ระบบจะเก็บขึ้นบรรทัดใหม่เป็น \n ในสตริง ถ้าไม่ครอบ การขึ้นบรรทัดใหม่จะถูกตีความเป็นจุดสิ้นสุดของแถว ทำให้ตารางเสีย

ถาม: ข้อมูลของฉันปลอดภัยไหม? ตอบ: การแปลงทั้งหมดทำงานภายในเบราว์เซอร์ของคุณ (client-side) ไม่มีการอัปโหลดข้อมูลไปยังเซิร์ฟเวอร์ใดๆ ดังนั้นข้อมูลที่ละเอียดอ่อนจึงปลอดภัย

ถาม: ทำไมฉันถึงได้ข้อความ "This CSV could not be parsed."? ตอบ: มักเกิดจาก quoting ที่ไม่ถูกต้อง (เช่น เครื่องหมายคำพูดเปิดแต่ไม่ปิด) หรือจำนวนคอลัมน์ระหว่างแถวไม่เท่ากัน ตรวจสอบไฟล์ CSV ต้นทางด้วยโปรแกรมแก้ไขข้อความเพื่อดูปัญหา