นักพัฒนา

ตัวค้นหา JSON Path

วาง JSON ตรวจสอบแผนผัง คัดลอก JSONPath ที่แม่นยำ และทดสอบ path ในเบราว์เซอร์

JSON ต้นทาง
ค้นหา path
แผนผังโต้ตอบ
ตัวทดสอบ
ต้นไม้ข้อมูลหลายชั้นที่ไฮไลต์กิ่งหนึ่ง และแว่นขยายบนค่าที่เลือก

วิธีใช้

  1. วาง JSON ลงในช่อง JSON ต้นทาง กดจัดรูปแบบ JSON เพื่อจัดให้อ่านง่าย ถ้า JSON ผิด เครื่องมือจะแจ้งข้อผิดพลาด
  2. เปิดกิ่งในแผนผังโต้ตอบ แล้วคลิก key หรือค่าใดก็ได้เพื่อคัดลอก JSONPath ที่ถูกต้อง เช่น $.store.book[0].title
  3. พิมพ์ส่วนหนึ่งของ key หรือค่าในช่องค้นหา path เพื่อแสดงทุก path ที่มีคำนั้น เช่น ชื่อลูกค้าในผลลัพธ์ API ที่ยาว
  4. วางหรือแก้ 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].titleDune
$.store.book[0].price9.99
$.store.book[1].titleEmma
$["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 ที่เป็นความลับจึงไม่ออกจากอุปกรณ์ของคุณ

พบปัญหาหรือมีไอเดีย? แจ้งปัญหา

Share

คุณอาจชอบสิ่งนี้ด้วย