- เครื่องมือที่ช่วยให้สามารถคิวรีและแก้ไขโครงสร้างข้อมูลได้โดยใช้สตริงตัวเลือก
- รองรับ JSON, YAML, TOML, XML, CSV และไม่มี runtime dependency
- ไม่จำเป็นต้องเรียนรู้เครื่องมือใหม่เพื่อจัดการกับรูปแบบข้อมูลที่หลากหลาย
- ใช้ไวยากรณ์ selector มาตรฐาน ดังนั้นเรียนรู้ครั้งเดียวก็สามารถคิวรี/แก้ไขข้อมูลได้กับทุกรูปแบบที่รองรับ
- ติดตั้งได้ผ่าน homebrew, ASDF, scoop, docker, Nix หรือไบนารีที่คอมไพล์ไว้แล้วจากรีลีสล่าสุด
- รองรับการทำงานเติมคำสั่งอัตโนมัติในเทอร์มินัลด้วย
- Features
- คิวรี/เลือกข้อมูลจากไฟล์ข้อมูลแบบมีโครงสร้าง
- อัปเดตข้อมูลในไฟล์ข้อมูลแบบมีโครงสร้าง
- สร้างไฟล์ข้อมูล
- รองรับรูปแบบ/ประเภทข้อมูลหลายแบบ
- แปลงระหว่างรูปแบบ/ประเภทข้อมูล
- ใช้ไวยากรณ์คิวรี/selector มาตรฐานกับข้อมูลทุกรูปแบบ
- ไม่มี runtime dependency
- ใช้งานได้บน Linux, Mac, Windows
- สามารถนำเข้าไปใช้ในโปรเจ็กต์ของตัวเองได้
- รันผ่าน Docker ได้
- เร็วกว่า jq/yq
- Pre-commit hook
- Playground
- มี playground สำหรับทดสอบคำสั่ง dasel
- ดูซอร์สโค้ดของ playground ได้ที่ github.com/TomWright/daselplayground
- Benchmarks
- ผลการทดสอบระบุว่า dasel เร็วกว่า jq ได้สูงสุด 3 เท่า และเร็วกกว่า yq ได้สูงสุด 15 เท่า
- ดูได้ในไดเรกทอรี benchmark
สรุปโดย GN⁺
- Dasel เป็นเครื่องมือที่รองรับรูปแบบข้อมูลหลากหลาย และช่วยให้คิวรีกับแก้ไขข้อมูลได้ง่ายด้วยไวยากรณ์ selector มาตรฐาน
- ไม่มี runtime dependency ใช้งานได้หลายแพลตฟอร์ม และเร็วกว่า jq/yq
- มีวิธีติดตั้งหลายแบบและมี pre-commit hook ทำให้ผสานเข้ากับสภาพแวดล้อมการพัฒนาได้ง่าย
- มีประโยชน์กับโปรเจ็กต์ที่ต้องแปลงระหว่างรูปแบบข้อมูลหรือจัดการข้อมูลหลายรูปแบบ
- เครื่องมือที่มีฟังก์ชันคล้ายกัน ได้แก่ jq, yq เป็นต้น
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
JMESPathอาจเป็นแนวทางต่อไปgronใช้งานเข้าใจง่ายและเข้ากันได้ดีกับเครื่องมืออื่น