ส่วนใหญ่ไม่แน่นอน
CSV เป็นรูปแบบตารางที่แมปได้ดีกับชุดข้อมูลหรือข้อมูลแบบตารางอื่น ๆ แต่ไม่ใช่ว่าข้อมูลทั้งหมดจะเป็นตาราง! ส่วนใหญ่โดยทั่วไปเราต้องการที่จะเป็นอันดับกราฟวัตถุ ซึ่งอาจเป็นเรื่องยากในกรณีต่อไปนี้:
- การอ้างอิงแบบวงกลม
- subgraphs ที่ใช้ร่วมกัน (เช่นสองวัตถุที่ทั้งสองมีวัตถุเดียวกันเป็นสมาชิก)
- วัตถุประเภทต่าง ๆ ที่จะต่อเนื่องกันในเอกสารเดียวกัน
เราต้องการที่จะสามารถลดความน่าเชื่อถือของวัตถุจากรูปแบบการจัดเก็บของเรา
XML
เป็นภาษามาร์คอัปที่สามารถขยายได้ มันสามารถใส่รองเท้าเพื่อเก็บโครงสร้างข้อมูลทั่วไปได้เช่นกัน การสนับสนุนภาษาสำหรับ ID หมายความว่าสามารถสร้างกราฟที่ซับซ้อนได้แม้ว่าจะใช้กับต้นไม้ได้ดีที่สุดก็ตาม เอกสารสามารถทดสอบความถูกต้องกับสเปค มีปัญหาหลายอย่างเกี่ยวกับรูปแบบนี้ที่สามารถทำให้ใช้งานไม่ได้เช่นการใช้คำฟุ่มเฟื่อยมาก
JSON
เป็นวิธีการเก็บต้นไม้วัตถุอย่างง่ายเป็นหลัก ไม่มีการสนับสนุนกราฟทั่วไป JSON มีแนวคิดของการไม่มีชนิดเกินพื้นฐานสตริง , จำนวนเต็ม , ลอย , บูล , nullและชนิดคอลเลกชันอาร์เรย์และวัตถุ
YAML
เข้าใจได้ง่ายที่สุดว่าเป็นส่วนเสริมของ JSON มีแนวคิดเกี่ยวกับนามแฝงที่อนุญาตให้สร้างกราฟวัตถุที่มีความซับซ้อนตามอำเภอใจ มีแนวคิดเกี่ยวกับข้อมูลเมตาเช่นแท็กที่สามารถใช้สำหรับการพิมพ์ที่เหมาะสม
CSV
ไม่มีอะไรเลยยกเว้นโต๊ะเดี่ยว ถ้าเราต้องการเก็บกราฟวัตถุเราจะต้องใช้สคีมาเช่น
#ID,Type,Field1,Field2,...,FieldN
1,String,foo
2,String,bar
3,Array<String>,1,2
มีหลายภาษาของ CSV ที่ไม่เห็นด้วยกับตัวคั่นตัวสร้างบรรทัดการอ้างอิงข้อความยกเว้นตัวอักษรและปัญหาอื่น ๆ อีกมากมายที่ทำให้ไม่เหมาะสมกับข้อมูลทั่วไป (ไบนารี) ทั้งหมดนี้ทำให้การประมวลผลข้อมูล CSV ค่อนข้างยาก
ดังนั้นโดยทั่วไปสิ่งง่าย ๆ จะยากหรือเป็นไปไม่ได้เมื่อใช้ CSV เป็นรูปแบบการทำให้เป็นอนุกรมทั่วไป
คำวิจารณ์นี้ไม่สามารถใช้งานได้เมื่อใช้เพื่อเก็บข้อมูลตารางอย่างแท้จริงเช่นใบบันทึกเวลาหรือชุดการวัด ในที่นี้ CSV (มักจะอยู่ในรูปแบบของค่าที่คั่นด้วยแท็บ) มักจะมีขนาดกะทัดรัดและใช้งานง่ายกว่ารูปแบบข้อมูลอื่น ๆ