tigtools

ตัวแปลง CSV เป็น JSON

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

ทำงานในเบราว์เซอร์ของคุณ ไม่ต้องสมัคร

รูปแบบผลลัพธ์

วิธีใช้งาน

  1. วางข้อความ CSV เปิดไฟล์ .csv หรือ .tsv หรือกด “ลองตัวอย่าง”
  2. ใช้ “ตรวจหาอัตโนมัติ” ต่อไปหรือเลือกตัวคั่นเอง และระบุว่าแถวแรกมีชื่อคอลัมน์หรือไม่
  3. เลือกเปิดการตรวจหาตัวเลข บูลีน และ null ได้ตามต้องการ แล้วเลือกรูปแบบผลลัพธ์เป็นออบเจ็กต์หรืออาร์เรย์
  4. คัดลอก JSON หรือดาวน์โหลดเป็นไฟล์ .json

วิธีการทำงาน

ตัวแยกวิเคราะห์นี้ทำตาม RFC 4180 ซึ่งเป็นข้อกำหนดของ CSV: ฟิลด์สามารถครอบด้วยเครื่องหมายอัญประกาศคู่ได้ ฟิลด์ที่ครอบด้วยเครื่องหมายอัญประกาศอาจมีตัวคั่นและการขึ้นบรรทัดใหม่ได้ และเครื่องหมายอัญประกาศคู่สองตัวภายในฟิลด์ที่ครอบอยู่จะหมายถึงอักขระอัญประกาศหนึ่งตัว การขึ้นบรรทัดใหม่อาจเป็น CRLF (Windows), LF (macOS, Linux) หรือ CR และการขึ้นบรรทัดใหม่ท้ายไฟล์จะไม่สร้างระเบียนว่าง ระบบจะข้ามบรรทัดว่างทั้งหมด และลบเครื่องหมายลำดับไบต์ที่ต้นไฟล์ ซึ่ง Excel มักเพิ่มไว้ หากฟิลด์ที่ครอบด้วยเครื่องหมายอัญประกาศไม่มีเครื่องหมายปิด ระบบจะแจ้งข้อผิดพลาดพร้อมบรรทัดที่ฟิลด์เริ่มต้น เพราะการคาดเดาอาจทำให้ข้อมูลที่เหลือทั้งไฟล์ถูกรวมเป็นเซลล์เดียวโดยไม่รู้ตัว

การตรวจหาอัตโนมัติจะลองใช้จุลภาค อัฒภาค แท็บ และ pipe กับแถวแรก ๆ แล้วเลือกตัวคั่นที่ทำให้จำนวนคอลัมน์สม่ำเสมอ หากมีแถวส่วนหัว แต่ละระเบียนจะกลายเป็นออบเจ็กต์ที่ใช้ชื่อคอลัมน์เป็นคีย์ ชื่อที่ว่างจะกลายเป็น column_1, column_2… ส่วนชื่อที่ซ้ำจะเพิ่มส่วนต่อท้าย เช่น id_2 แถวที่มีฟิลด์น้อยกว่าแถวส่วนหัวจะเติมค่าว่างให้ ส่วนฟิลด์ที่เกินมาจะได้รับชื่อคอลัมน์เพิ่ม

โดยค่าเริ่มต้น ทุกค่าจะคงเป็นสตริง ซึ่งเป็นตัวเลือกที่ปลอดภัย เพราะรหัสไปรษณีย์อย่าง 01234 หมายเลขโทรศัพท์ และ ID จะยังคงมีเลขศูนย์นำหน้า เมื่อเปิดการตรวจหาชนิดข้อมูล ค่าที่เขียนตรงตามรูปแบบตัวเลขของ JSON จะถูกแปลงเป็นตัวเลข (ยกเว้น 007, 1,5 และจำนวนเต็มที่เกิน 2^53) ส่วน true และ false ไม่ว่าจะใช้อักษรตัวพิมพ์เล็กหรือใหญ่จะกลายเป็นบูลีน และ null หรือเซลล์ว่างจะกลายเป็น null วันที่จะคงเป็นข้อความ

ตัวอย่าง

ส่งออกจากสเปรดชีต

id,name,price\n1,Desk,149.90 จะแปลงเป็น [{"id":"1","name":"Desk","price":"149.90"}] เมื่อเปิดการตรวจหาชนิดข้อมูล จะแปลงเป็น {"id":1,"name":"Desk","price":149.9}

ไฟล์ Excel จากยุโรป

ไฟล์ที่บันทึกจาก Excel ในเยอรมนีใช้เครื่องหมายอัฒภาค: Name;Preis\nTisch;149,90 ระบบตรวจหาอัตโนมัติจะเลือกเครื่องหมายอัฒภาค และ 149,90 จะยังคงเป็นสตริง "149,90" เพราะไม่ใช่ตัวเลขตามรูปแบบ JSON

เซลล์ที่มีการขึ้นบรรทัดใหม่

เซลล์ที่อยู่ซึ่งเขียนเป็น "221B Baker Street London" (ครอบด้วยเครื่องหมายอัญประกาศและกินพื้นที่สองบรรทัด) จะยังคงเป็นค่าเดียว คือ "221B Baker Street\nLondon" ไม่เริ่มแถวใหม่

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

ทำไมตัวเลขของฉันใน JSON จึงเป็นสตริง

CSV ไม่มีชนิดข้อมูล โดยค่าเริ่มต้นทุกค่าจึงจะถูกเก็บเป็นข้อความตามที่เขียนไว้ เปิด “ตรวจหาตัวเลข true/false และ null” เพื่อแปลงค่าที่มีรูปแบบเหมือนตัวเลข ระบบจะเก็บเลขศูนย์นำหน้าและจุลภาคที่ใช้เป็นตัวคั่นทศนิยมไว้เป็นข้อความ เพื่อป้องกันข้อมูลเปลี่ยนแปลง

ถ้าแถวมีจำนวนคอลัมน์มากกว่าหรือน้อยกว่าแถวส่วนหัวจะเกิดอะไรขึ้น

ค่าที่ขาดหายจะกลายเป็นสตริงว่าง (หรือ null เมื่อเปิดการตรวจหาชนิดข้อมูล) ส่วนค่าที่เกินมาจะถูกเก็บไว้ในคีย์เพิ่มเติมชื่อ column_N จึงไม่มีข้อมูลถูกละทิ้ง

อ่านไฟล์ Excel .xlsx ได้ไหม

ไม่ได้ รองรับเฉพาะ CSV และ TSV แบบข้อความ ใน Excel หรือ Google Sheets ให้เลือก File › Save as / Download › CSV ก่อน แล้วเปิดไฟล์นั้นที่นี่

แปลงไฟล์ได้ใหญ่แค่ไหน

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

ความเป็นส่วนตัว

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