ข้ามไปยังเนื้อหาหลัก

ทดสอบ JSONPath

เขียน JSONPath แล้วเห็นค่าที่ตรงกับเงื่อนไขทันที ไม่ต้องไล่อ่านทั้งก้อน

ข้อมูล JSON

เช่น $.store.book[?(@.price < 300)].title

ตัวอย่าง:
ค่าที่ตรงกัน
ใส่ JSON และ JSONPath เพื่อดูผลลัพธ์

ประมวลผลในเบราว์เซอร์ของคุณทั้งหมด ข้อมูลไม่ถูกส่งขึ้นเซิร์ฟเวอร์

เกี่ยวกับเครื่องมือนี้

เครื่องมือ ทดสอบ JSONPath ช่วยดึงเฉพาะข้อมูลที่คุณต้องการออกจาก JSON ก้อนใหญ่ แทนที่จะเลื่อนอ่านทีละบรรทัดหรือกางโครงสร้างทีละชั้น

สถานการณ์ที่ใช้บ่อยที่สุดคือตอน ไล่ดู response จาก API ที่ตอบกลับมาหลายพันบรรทัด แต่คุณสนใจแค่ไม่กี่ฟิลด์ การเขียน JSONPath สั้น ๆ อย่าง $.data.items[*].id ให้คำตอบทันที และยังใช้เป็นตัวร่างก่อนนำไปใส่ในโค้ดหรือเครื่องมืออื่นที่รองรับ JSONPath เหมือนกัน

ความสามารถที่ทำให้ JSONPath คุ้มค่ากว่าการกดดูทีละชั้นคือ การกรองตามเงื่อนไข เช่น $.book[?(@.price < 300)] จะได้เฉพาะรายการที่ราคาต่ำกว่า 300 และ $..price จะกวาดค่า price ทุกตัวไม่ว่าจะซ้อนลึกแค่ไหน

เครื่องมือนี้ยังแสดง ตำแหน่งจริงของแต่ละค่า ที่ตรงกัน ทำให้รู้ว่าข้อมูลที่ได้มาจากส่วนไหนของโครงสร้าง มีประโยชน์มากตอนที่ผลลัพธ์ไม่ตรงกับที่คิด ทั้งหมดทำงานในเบราว์เซอร์ ไม่มีการส่งข้อมูลออก

วิธีใช้งาน

  1. 1วางข้อมูล JSON ที่ต้องการค้นลงในช่องแรก
  2. 2พิมพ์ JSONPath ในช่องด้านล่าง เช่น $.store.book[*].title
  3. 3ค่าที่ตรงกับเงื่อนไขจะแสดงทันที พร้อมจำนวนรายการที่พบ
  4. 4กด "ดูตำแหน่งของแต่ละค่า" เพื่อดูว่าค่านั้นอยู่ตรงไหนของโครงสร้าง

คำถามที่พบบ่อย

JSONPath คืออะไร
JSONPath คือภาษาสั้น ๆ สำหรับระบุตำแหน่งข้อมูลใน JSON คล้ายกับที่ XPath ใช้กับ XML เช่น $.users[0].name หมายถึงชื่อของผู้ใช้คนแรก ทำให้ดึงเฉพาะข้อมูลที่ต้องการออกมาได้โดยไม่ต้องเขียนโค้ด
กรองข้อมูลตามเงื่อนไขได้ไหม
ได้ ใช้รูปแบบ [?(@.field > ค่า)] เช่น $.book[?(@.price < 300)].title จะได้ชื่อหนังสือทุกเล่มที่ราคาต่ำกว่า 300 นี่คือความสามารถหลักที่ทำให้ JSONPath มีประโยชน์กว่าการไล่กดดูทีละชั้น
เครื่องหมาย .. ต่างจาก . อย่างไร
จุดเดียวคือการลงไปหนึ่งชั้น ส่วนสองจุด (..) คือค้นลึกลงไปทุกชั้นไม่ว่าจะซ้อนกันกี่ระดับ เช่น $..price จะได้ค่า price ทุกตัวในเอกสาร
ทำไมไม่มีผลลัพธ์ทั้งที่ข้อมูลมีอยู่
สาเหตุที่พบบ่อยคือลืมใส่ $ นำหน้า หรือชื่อคีย์สะกดไม่ตรง (ตัวพิมพ์เล็กใหญ่มีผล) ลองเริ่มจาก $..* เพื่อดูค่าทั้งหมดก่อน แล้วค่อยไล่แคบลง
ข้อมูลของฉันถูกส่งออกไปไหม
ไม่ ทุกอย่างประมวลผลในเบราว์เซอร์ของคุณ จึงวาง response ที่มีข้อมูลจริงจากระบบภายในได้

เครื่องมือที่เกี่ยวข้อง

จัดรูปแบบ JSON (JSON Formatter)

จัดรูปแบบ ตรวจสอบ และย่อ JSON สำหรับนักพัฒนา

แปลง JSON เป็นตาราง

อ่าน JSON เป็นตาราง เรียงคอลัมน์ได้ ส่งออกเป็น CSV

แปลง JSON ↔ YAML

สลับไปมาระหว่าง JSON กับ YAML ในคลิกเดียว

เทียบไฟล์ JSON (JSON Diff)

เปรียบเทียบ JSON สองชุด เห็นบรรทัดที่เพิ่มและที่หายไป