สนามทดลองคิวรี JSONPath

ทดสอบคิวรี JSONPath ตาม RFC 9535 และดูทุกรายการที่ตรงกันพร้อมพาธ

ข้อมูลเข้า

0 B จาก 10 MB

คิวรี

ขึ้นต้นด้วย $ กด Ctrl/⌘+Enter เพื่อรันคิวรี

ผลลัพธ์

รันคิวรีเพื่อดูรายการที่ตรงกันที่นี่

วาง JSON เปิดไฟล์ หรือโหลดตัวอย่าง

JSONPath ตาม RFC 9535 ประเมินในเบราว์เซอร์ของคุณโดย jsonpath-rfc9535 1.3.0 ในกระบวนการเบื้องหลัง

สนามทดลองคิวรี JSONPath คืออะไร

พื้นที่ทดลองสำหรับ JSONPath ตาม RFC 9535 ซึ่งเป็นมาตรฐาน IETF สำหรับเลือกโหนดในเอกสาร JSON วาง JSON เขียนคิวรีอย่าง $.store.products[?@.price < 50].name แล้วดูทุกรายการที่ตรงกันพร้อมค่า พาธแบบนอร์มัลไลซ์ และ JSON Pointer ใช้เขียนตัวเลือกสำหรับการทดสอบ API เครื่องมือกำหนดค่า OpenAPI overlay หรือเครื่องมือแบบ Kubernetes และตรวจดูว่าเลือกโหนดใดบ้างอย่างแม่นยำ หากต้องการแปลงหรือจัดโครงสร้าง JSON ใหม่ ให้ใช้ สนามทดลองคิวรี JSON ที่ใช้ jq และหากต้องการค้นหาคีย์หรือค่าด้วยข้อความ ให้ใช้ ค้นหา JSON

ไวยากรณ์ที่รองรับ

ราก $ ชื่อสมาชิก ($.name และ $['name']) ดัชนีอาร์เรย์รวมถึงค่าติดลบ ([0], [-1]) ไวลด์การ์ด ([*] และ .*) ช่วงพร้อมระยะก้าวที่ไม่บังคับ ([1:5], [::-1]) หลายตัวเลือกในวงเล็บเดียว ([0,2] หรือ ['a','b']) ลูกหลาน (..name และ ..*) และตัวกรอง ตัวกรอง ([?…]) เปรียบเทียบด้วย == != < <= > >= รวมกันด้วย && || ! และวงเล็บ และตรวจการมีอยู่ด้วย ?@.member ซึ่งเป็นจริงเมื่อมีสมาชิกนั้น แม้ค่าจะเป็น false หรือ null มีฟังก์ชันของ RFC ทั้งห้า ได้แก่ length(), count(), match(), search() และ value() แต่ละรายการในตัวอย่างไวยากรณ์จะโหลดคิวรีสำหรับตัวอย่างแคตตาล็อกร้านค้า

นิพจน์ปกติใน match() และ search()

match() และ search() รับรูปแบบ I-Regexp (RFC 9485) ซึ่งเป็นชุดย่อยขนาดเล็กของนิพจน์ปกติที่ใช้ร่วมกันได้ match() ต้องตรงกับทั้งสตริง ส่วน search() ค้นหารูปแบบที่ตำแหน่งใดก็ได้ Unicode เปิดใช้โดยค่าเริ่มต้น และจุดตรงกับอักขระใดก็ได้ยกเว้นการขึ้นบรรทัดใหม่ Backreference, lookaround, ตัวระบุปริมาณแบบ lazy และแฟล็กไม่อยู่ใน I-Regexp ควรหลีกเลี่ยง เพราะการใช้งาน JSONPath อื่นจะปฏิเสธหรือเพิกเฉย

พาธแบบนอร์มัลไลซ์และ JSON Pointer

ทุกรายการที่ตรงกันจะแสดงพาธแบบนอร์มัลไลซ์ ซึ่งเป็นรูปแบบมาตรฐานของ RFC 9535 เช่น $['store']['products'][0]['name'] โดยเครื่องหมายอะพอสทรอฟี แบ็กสแลช และอักขระควบคุมในชื่อสมาชิกจะถูก escape และยังแสดง JSON Pointer ตาม RFC 6901 ที่สอดคล้องกัน เช่น /store/products/0/name โดย ~ กลายเป็น ~0 และ / กลายเป็น ~1 ส่วนทั้งเอกสารคือพอยน์เตอร์ว่าง ใช้พาธในการทดสอบ และใช้พอยน์เตอร์ในการดำเนินการ JSON Patch หรือค่า $ref

ข้อจำกัดและความเป็นส่วนตัว

คิวรีทำงานในกระบวนการเบื้องหลังในเบราว์เซอร์ของคุณ ไม่มีการอัปโหลดหรือบันทึกสิ่งใด และจดจำเพียงมุมมองผลลัพธ์ที่เลือก ข้อมูลเข้าไม่เกิน 256 KB จะรันใหม่ขณะพิมพ์ ข้อมูลเข้าที่ใหญ่กว่าจนถึง 10 MB จะรันเมื่อกดรัน และแต่ละครั้งจะหยุดหลัง 15 วินาที รายการแสดง 2,000 รายการแรก ขณะที่จำนวนและการคัดลอกทั้งหมดรวมทุกรายการ เครื่องมือนี้เลือกโหนดเท่านั้น ไม่แปลงข้อมูล ส่วนขยายแบบเก่าที่ไม่เป็นมาตรฐาน เช่น นิพจน์สคริปต์หรือตัวดำเนินการคีย์ ~ จะถูกปฏิเสธเป็นข้อผิดพลาดไวยากรณ์ และ @.length จะอ่านสมาชิกชื่อ length (ใช้ length(@) เพื่อหาขนาด) ตัวเลขที่เกินความละเอียดของ JavaScript จะแสดงเป็นค่าที่ใกล้ที่สุดที่แทนได้

CodingTool เปิดตัวอย่างเป็นทางการบน

Launched on StartupBaseCodingTool.dev - Free, Fast & Easy Developer Tools in One Place | Product HuntCodingTool - Featured on Startup FameFazier badgeListed on Turbo0Featured on Twelve ToolsFeatured on Findly.toolsLaunchpadly Startup DirectoryCodingTool.dev — Featured on Smol Launch