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