
วิธีใช้
- วาง JSON ลงในช่อง JSON ต้นทาง กดจัดรูปแบบ JSON เพื่อจัดให้อ่านง่าย ถ้า JSON ผิด เครื่องมือจะแจ้งข้อผิดพลาด
- เปิดกิ่งในแผนผังโต้ตอบ แล้วคลิก key หรือค่าใดก็ได้เพื่อคัดลอก JSONPath ที่ถูกต้อง เช่น $.store.book[0].title
- พิมพ์ส่วนหนึ่งของ key หรือค่าในช่องค้นหา path เพื่อแสดงทุก path ที่มีคำนั้น เช่น ชื่อลูกค้าในผลลัพธ์ API ที่ยาว
- วางหรือแก้ path ในตัวทดสอบ เพื่อดูค่าที่ path ชี้ไป หรือข้อความแจ้งถ้าไม่พบ
JSONPath คืออะไร
JSONPath บอกตำแหน่งของค่าในเอกสาร JSON เหมือนที่ path ของไฟล์บอกตำแหน่งไฟล์ในดิสก์ เริ่มด้วย $ แทนทั้งเอกสาร แล้วต่อด้วย .key สำหรับคุณสมบัติของออบเจ็กต์ และ [n] สำหรับตำแหน่งในอาร์เรย์ โดยนับจาก 0 ส่วน key ที่มีช่องว่างหรือสัญลักษณ์จะเขียนในวงเล็บเหลี่ยมพร้อมเครื่องหมายคำพูด เช่น $["first name"]
คุณต้องใช้ path เหล่านี้เวลาเขียนโค้ดอ่านผลลัพธ์จาก API ตั้งค่าระบบอัตโนมัติแบบไม่ต้องเขียนโค้ด (Zapier, Make, n8n) จับคู่ฟิลด์ข้อมูลเวลาเชื่อมระบบ หรือเขียนการทดสอบ การคลิกที่ค่าเร็วและแม่นกว่านับวงเล็บเองมาก
ตัวอย่าง
สำหรับข้อมูล: { "store": { "book": [ { "title": "Dune", "price": 9.99 }, { "title": "Emma" } ] }, "first name": "Ann" }
| JSONPath | ค่า |
|---|---|
| $.store.book[0].title | Dune |
| $.store.book[0].price | 9.99 |
| $.store.book[1].title | Emma |
| $["first name"] | Ann |
ตัวทดสอบรองรับอะไรบ้าง
ตัวทดสอบทำงานกับ path ที่ระบุชัดเจน: key แบบจุด key ในวงเล็บพร้อมเครื่องหมายคำพูดเดี่ยวหรือคู่ และดัชนีอาร์เรย์ ไม่รองรับไวลด์การ์ด ([*]) การค้นหาแบบเรียกซ้ำ (..) การตัดช่วง ([0:2]) หรือตัวกรอง ([?(@.price < 10)]) ซึ่งจะแจ้งข้อผิดพลาด ถ้าต้องการหาทุกตำแหน่งที่ตรงกับคำหนึ่ง ให้ใช้ค้นหา path ซึ่งไล่ทั้งเอกสาร
แต่ละไลบรารีใช้ JSONPath ต่างกันเล็กน้อย มาตรฐานอย่างเป็นทางการเผยแพร่ในปี 2024 คือ RFC 9535 path แบบง่ายที่เครื่องมือนี้คัดลอกให้ใช้ได้เหมือนกันในทุกไลบรารี
คำถามที่พบบ่อย
หา JSONPath ของค่าหนึ่งอย่างไร
วาง JSON เปิดแผนผัง แล้วคลิกที่ค่า path จะถูกคัดลอกพร้อมวางในโค้ดหรือระบบอัตโนมัติ
ดัชนีอาร์เรย์เริ่มที่ 0 หรือ 1
เริ่มที่ 0 ตัวแรกของอาร์เรย์คือ [0] ตัวที่สองคือ [1]
ทำไม path ของฉันไม่พบค่า
ตรวจการสะกดและตัวพิมพ์ใหญ่เล็กของแต่ละ key (path แยกตัวพิมพ์) ดูว่าดัชนีมีอยู่จริง และไม่ได้ใช้ไวลด์การ์ดหรือตัวกรองที่ตัวทดสอบไม่รองรับ
JSON ของฉันถูกอัปโหลดไหม
ไม่ การแยกวิเคราะห์และค้นหาทำงานในเบราว์เซอร์ ข้อมูล API ที่เป็นความลับจึงไม่ออกจากอุปกรณ์ของคุณ