วิธีกำหนดพา ธ ไปยังฟิลด์ json ที่ซ้อนกันอย่างลึกซึ้ง

Aug 15 2020

เราจะสร้างเส้นทางไปยังเขตข้อมูลที่ซ้อนกันลึกจากเอกสาร json ขนาดใหญ่ได้อย่างไร

วิธีที่ฉันมักใช้คือการทำให้ JSON แบนราบโดยใช้jqนิพจน์

map
(
    with_entries(select(.key != "fields"))
    +
    (.fields | with_entries(.value = .value[0]))
)

อย่างไรก็ตามฉันกำลังเตรียมตัวสำหรับการทดสอบภาคปฏิบัติซึ่ง jq จะไม่มีให้บริการ ฉันได้เปลี่ยนกลับเป็นการเลื่อนขึ้นลงโดยไม่ต้องใช้โครงสร้างเอกสาร

มีวิธีที่ง่ายกว่านี้ด้วยเครื่องมือ Linux มาตรฐานหรือไม่?

คำตอบ

eleventyone Aug 15 2020 at 21:29

ดูเหมือนว่าคุณหมายถึงการมองเห็นมากกว่าทางโปรแกรมซึ่งในกรณีนี้ตัวแก้ไขที่รองรับการทำงานกับ JSON อาจใช้งานได้ ตัวอย่างเช่นvimด้วยตัวจัดการประเภทไฟล์ JSON และการรองรับการพับในตัว