T

Text Machine

เครื่องมือข้อความทรงพลัง ในเบราว์เซอร์ของคุณ

ตัวแปลง JSON ↔ CSV

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

ตัวคั่น

JSON ที่ป้อน
ผลลัพธ์ CSV

ป้อนข้อมูลด้านบนเพื่อดูผลลัพธ์ที่แปลงแล้วตรงนี้

วิธีใช้ ตัวแปลง JSON เป็น CSV

  1. 1

    เลือกทิศทาง

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

  2. 2

    วางข้อมูลของคุณ

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

  3. 3

    ตั้งค่าตัวเลือก

    เลือกตัวคั่นให้ตรงกับข้อมูลของคุณ และเมื่ออ่าน CSV ให้กำหนดว่าแถวแรกเป็นหัวตารางหรือไม่ และจะแปลงค่าตัวเลขและบูลีนหรือไม่

  4. 4

    คัดลอกผลลัพธ์

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

เปลี่ยนอาร์เรย์ JSON ให้เป็น CSV ที่พร้อมใช้กับสเปรดชีต

การจับคู่หลัก: อ็อบเจกต์กลายเป็นแถว คีย์กลายเป็นคอลัมน์

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

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

ทำไมอาร์เรย์ของอ็อบเจกต์จึงเป็นรูปแบบข้อมูลที่ถูกต้องสำหรับการป้อน

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

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

อ็อบเจกต์และอาร์เรย์ที่ซ้อนกันถูกจัดการอย่างไร

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

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

การครอบด้วยอัญประกาศและการ escape ส่วนที่ทำให้ไฟล์เสียหายอย่างเงียบ ๆ

เหตุผลที่การต่อสตริงแบบง่าย ๆ ทำให้ได้ CSV ที่เสียหายก็คือ ตัวคั่นอาจปรากฏอยู่ภายในข้อมูลได้ ค่าเมืองอย่าง "Portland, Oregon" มีจุลภาคอยู่ หากเขียนแบบดิบ ๆ มันจะถูกแยกออกเป็นสองเซลล์และทำให้ทุกคอลัมน์ที่ตามมาเลื่อนตำแหน่ง ตัวแปลงนี้ทำตามแบบแผน RFC 4180 ที่ใช้กันทั่วไป กล่าวคือ ฟิลด์ใดก็ตามที่มีตัวคั่น เครื่องหมายอัญประกาศคู่ หรือการขึ้นบรรทัดใหม่ จะถูกครอบด้วยอัญประกาศคู่ และอัญประกาศคู่ที่อยู่ภายในค่าอยู่แล้วจะถูกใส่ซ้ำเป็นสองตัว

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

การเลือกตัวคั่น

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

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

การแปลงไปกลับเป็น JSON

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

เปิดใช้ตัวเลือกแปลงค่าตัวเลขและบูลีนเพื่อเปลี่ยนข้อความที่เป็นตัวเลขล้วนและคำว่า true หรือ false ให้กลายเป็นค่า JSON จริงในขากลับ ถึงกระนั้น ก็ควรมองว่าการแปลงไปกลับนี้สูญเสียข้อมูลอยู่บ้างในเชิงหลักการ — การครอบอัญประกาศจะถูกปรับให้เป็นมาตรฐาน ข้อมูลชนิดถูกสร้างขึ้นใหม่ด้วยการคาดเดา และ JSON ที่ซ้อนอยู่ในเซลล์ใด ๆ ก็ต้องถูกแยกวิเคราะห์ด้วยมืออีกครั้ง หากต้องการสำเนาข้อมูลที่มีโครงสร้างอย่างเที่ยงตรง ให้เก็บไว้ในรูป JSON ตลอดทั้งกระบวนการ

การแปลงนี้เข้ากับขั้นตอนการทำงานจริงตรงไหน

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

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

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

ฉันจะแปลง JSON เป็น CSV ได้อย่างไร
วางอาร์เรย์ JSON ของอ็อบเจกต์ลงในช่องป้อนข้อมูล แต่ละอ็อบเจกต์จะกลายเป็นหนึ่งแถว และเครื่องมือจะรวบรวมทุกคีย์จากทุกอ็อบเจกต์ของคุณเพื่อสร้างหัวคอลัมน์ให้โดยอัตโนมัติ ดังนั้นแม้แต่ระเบียนที่มีฟิลด์ต่างกันก็จะเรียงตรงกันอย่างถูกต้อง
ตัวแปลงนี้ใช้รูปแบบ CSV แบบใด
เครื่องมือนี้ทำตามแบบแผน RFC 4180 ที่ใช้กันทั่วไป กล่าวคือ ฟิลด์ใดก็ตามที่มีตัวคั่น เครื่องหมายอัญประกาศคู่ หรือการขึ้นบรรทัดใหม่ จะถูกครอบด้วยอัญประกาศคู่ และอัญประกาศที่อยู่ภายในจะถูกใส่ซ้ำเป็นสองตัว คุณสามารถสลับตัวคั่นระหว่างจุลภาค อัฒภาค และแท็บ ให้ตรงกับสเปรดชีตของคุณได้
เครื่องมือนี้แปลง CSV กลับเป็น JSON ได้ไหม
ได้ เพียงสลับทิศทางเป็น CSV เป็น JSON โดยค่าเริ่มต้น แถวแรกจะถูกใช้เป็นหัวตารางที่ตั้งชื่อให้แต่ละคอลัมน์ และทุกแถวถัดไปจะกลายเป็นอ็อบเจกต์ JSON เปิดใช้ “แปลงค่าตัวเลขและบูลีน” เพื่อเปลี่ยนข้อความที่เป็นตัวเลขและคำว่า true หรือ false ให้เป็นค่า JSON จริง
อ็อบเจกต์ที่ซ้อนกันถูกจัดการอย่างไร
เนื่องจาก CSV เป็นรูปแบบตารางแบบแบนราบ อ็อบเจกต์และอาร์เรย์ที่ซ้อนกันจะถูกแปลงเป็นข้อความ JSON แบบกระชับไว้ภายในเซลล์เดียวเมื่อคุณแปลงจาก JSON เป็น CSV สำหรับข้อมูลที่ซ้อนกันลึก ๆ รูปแบบอย่าง JSON หรือ YAML มักจะเหมาะสมกว่า
ข้อมูลของฉันถูกอัปโหลดไปยังเซิร์ฟเวอร์หรือไม่
ไม่ การแปลงทั้งหมดทำงานภายในเบราว์เซอร์ของคุณ ข้อมูลของคุณจะไม่ถูกอัปโหลด บันทึก หรือจัดเก็บไว้ที่ใด จึงเป็นส่วนตัวอย่างสมบูรณ์ และเครื่องมือนี้ยังทำงานได้แม้ในขณะที่คุณออฟไลน์

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

ทำงานต่อด้วยเครื่องมือที่มีประโยชน์เหล่านี้

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

ตัวแปลง Unix Timestamp

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

ตัวแปลงเลขฐานสอง ↔ เลขฐานสิบ

เครื่องแปลงเลขฐานสิบ ↔ เลขฐานสอง

ตัวแปลงข้อความเป็นไบนารี