วิธีการพิมพ์ json โดยใช้ jq standalone


31

ปัจจุบันเมื่อฉันต้องการพิมพ์ไฟล์ json โดยใช้jqฉันจะใช้:

cat file.json | grep jq .

แต่ฉันคาดว่าjqจะยอมรับชื่อไฟล์เป็นอาร์กิวเมนต์โดยไม่ต้องย้อนcatกลับ

หน้าคนพูดว่า:

jq [options ... ] ตัวกรอง [ไฟล์ ... ]

... โดยค่าเริ่มต้น jq อ่านกระแสของวัตถุ JSON (คั่นช่องว่าง) จาก stdin อาจระบุหนึ่งไฟล์ขึ้นไปซึ่งในกรณีนี้ jq จะอ่านอินพุตจากไฟล์เหล่านั้นแทน

ยังทำงานอยู่:

jq file.json

ล้มเหลวโดยการทิ้งข้อผิดพลาดการคอมไพล์ที่ไม่ได้กำหนดคีย์

ฉันควรจะเพิ่มไฟล์เมื่อทำงานjqอย่างไร

คำตอบ:


48
jq . file.json

คือสิ่งที่ฉันกำลังมองหา ฉันไม่ทราบว่าตัวกรอง.นี้เป็นตัวกรองและไม่ใช่ตัวยึดตำแหน่งของเนื้อหาที่มีท่อ:

.

ที่ง่ายแน่นอน (และน่าสนใจน้อย) .ตัวกรอง นี่คือตัวกรองที่รับอินพุตและสร้างมันไม่เปลี่ยนแปลงเป็นเอาต์พุต

และหน้าคนทำให้ชัดเจนว่าตัวกรองเป็นอาร์กิวเมนต์ที่จำเป็น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.