Show HN: jnv: ตัวกรอง JSON แบบอินเทอร์แอ็กทีฟด้วย jq
(github.com/ynqa)-
jnv_jnv_ สำหรับการสำรวจ JSON
- jnv_jnv_ มีทั้งตัวดู JSON แบบอินเทอร์แอ็กทีฟและตัวแก้ไขตัวกรอง
jq - ออกแบบโดยได้แรงบันดาลใจจาก jid และ jiq
- jnv_jnv_ มีทั้งตัวดู JSON แบบอินเทอร์แอ็กทีฟและตัวแก้ไขตัวกรอง
-
ความสามารถ
- ตัวดู JSON แบบอินเทอร์แอ็กทีฟและตัวแก้ไขตัวกรอง
jqพร้อมการเน้นไวยากรณ์ JSON - รับ JSON ได้จาก standard input (stdin), ไฟล์ และ URL
- รองรับการเติมข้อความตัวกรองอัตโนมัติ
- ประเภทตัวกรองที่รองรับ: Identity, Object Identifier-Index, Array Index
- มีข้อความคำใบ้สำหรับการประเมินตัวกรอง
- ตัวดู JSON แบบอินเทอร์แอ็กทีฟและตัวแก้ไขตัวกรอง
-
วิธีติดตั้ง
- ติดตั้งผ่าน Homebrew:
brew install ynqa/tap/jnv - ติดตั้งผ่าน Cargo:
- ความต้องการเบื้องต้น: automake
- คำสั่งติดตั้ง:
cargo install jnv
- jnv ไม่จำเป็นต้องให้ผู้ใช้ติดตั้ง
jqในระบบ เพราะใช้ j9 ซึ่งเป็น Rust binding
- ติดตั้งผ่าน Homebrew:
-
ตัวอย่าง
- อ่านจากไฟล์:
jnv data.json - อ่านจาก standard input:
cat data.json | jnv
- อ่านจากไฟล์:
-
คีย์แมป
Ctrl + C: ออกจาก jnvTab: เติมข้อความตัวกรอง jq อัตโนมัติ- ปุ่มลูกศรและการใช้ร่วมกับ
Ctrl: เลื่อนเคอร์เซอร์และลบอักขระในตัวกรอง Enter: สลับขยาย/ยุบในตัวดู JSONCtrl + P/N: ขยาย/ยุบทุกส่วนที่พับไว้ในตัวดู JSON
-
วิธีใช้งาน
- เครื่องมือสำรวจ JSON และตัวกรองแบบอินเทอร์แอ็กทีฟที่ใช้ jq
- ตัวอย่างการใช้งาน:
jnv [OPTIONS] [INPUT] - ตัวเลือก:
- ระบุโหมดแก้ไข:
insertหรือoverwrite - ปรับรูปแบบการแสดง JSON: เปลี่ยนระดับการเยื้อง
- แสดงคำใบ้หรือไม่: แสดงคำแนะนำหรือแนวทางให้ผู้ใช้
- ระบุความลึกการขยายเริ่มต้น: ความลึกเริ่มต้นของการขยายโหนด JSON
- ควบคุมความยาวรายการคำแนะนำ: ปรับความยาวของรายการคำแนะนำเพื่อให้ผู้ใช้เลือกได้มีประสิทธิภาพขึ้น
- ระบุโหมดแก้ไข:
ความเห็นจาก GN⁺
- jnv_jnv_ เป็นเครื่องมือที่ช่วยให้สำรวจและกรองข้อมูล JSON ได้ง่ายขึ้น โดยเฉพาะมีประโยชน์กับนักพัฒนาที่ต้องจัดการชุดข้อมูลขนาดใหญ่
- เครื่องมือนี้นำความสามารถอันทรงพลังของ
jqมาอยู่ในอินเทอร์เฟซที่เป็นมิตรต่อผู้ใช้ ทำให้การจัดการข้อมูล JSON มีประสิทธิภาพมากขึ้น - jnv_jnv_ พัฒนาด้วย Rust จึงอาจมีข้อดีด้านประสิทธิภาพและความเสถียร และการไม่ต้องติดตั้ง
jqแยกในระบบก็เป็นจุดเด่นเช่นกัน - เครื่องมืออื่นที่มีความสามารถคล้ายกัน เช่น Postman หรือ Insomnia เป็นเครื่องมือทดสอบ API แต่เน้นการทดสอบ API เป็นหลัก จึงเฉพาะทางกับการสำรวจ JSON ล้วน ๆ น้อยกว่า jnv_jnv_
- เมื่อนำ jnv_jnv_ มาใช้ ควรพิจารณาความใช้งานง่ายของอินเทอร์เฟซและข้อจำกัดของความสามารถในการกรอง และหากต้องจัดการ JSON ที่ซับซ้อน อาจยังต้องเรียนรู้สคริปต์
jqเพิ่มเติมแยกต่างหาก
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
เจ๋งมาก มีข้อสังเกตเล็กน้อย:
ดูน่าสนใจมาก — จะต้องลองดูแน่นอน
เจ๋งมาก!! จะติดตั้งทันทีที่ได้จับแล็ปท็อป
เจ๋งมาก! ดูคล้าย jless มาก
บางครั้งก็คิดว่าน่าจะดีถ้าค้นหาภายในผลลัพธ์ JSON จากเบราว์เซอร์หรือ IDE ได้
ถ้าใช้ Emacs ก็มี jq-mode ด้วย
เจ๋งมาก สิ่งที่ทำให้หงุดหงิดกับ jq มาตลอดคือ ก่อนจะกรองข้อมูล เรามองไม่เห็นเลยว่าจะได้ข้อมูลอะไรออกมา
ถ้าใช้ Sublime Text ก็มีปลั๊กอินที่ทำให้ทำแบบนั้นได้
อยากให้ทุกคนรู้จักทางเลือกอย่าง "fx"
เจ๋งมาก ไม่แน่ใจว่าจะขอมากเกินไปไหม แต่พอจะทำให้ใช้งานกับ OjG ที่ใช้ JSONPath แทนไวยากรณ์ jq ได้ไหม?