← Công cụ

Công cụ test JSONPath

Dán JSON, viết biểu thức JSONPath và xem kết quả được chọn.

Riêng tư: tệp của bạn không bao giờ rời khỏi thiết bị.

Kết quả

Bảng tra cứu nhanh JSONPath
ViếtĐể lấy
$Toàn bộ tài liệu (gốc - root)
.name ['name']Một trường theo tên (đặt trong ngoặc kép nếu tên có khoảng trắng hoặc ký hiệu)
[0] [-1]Một phần tử của danh sách theo vị trí, tính từ đầu hoặc từ cuối
[0:3] [::2] [::-1]Một slice: start:end:step (không bao gồm end)
* [*]Mọi trường hoặc phần tử
..name ..*Tìm ở mọi cấp
[0,2] ['a','b']Nhiều mục cùng lúc
[?@.price < 10]Bộ lọc: các phần tử thỏa điều kiện (@ là phần tử hiện tại)
== != < <= > >=So sánh số, chuỗi, true, false và null
&& || ! ( )Và, hoặc, phủ định, nhóm
[?@.isbn]Các phần tử có trường đó
length(@.tags)Độ dài của chuỗi, danh sách hoặc đối tượng
count(@.*)Số node mà một truy vấn tìm được
match(@.id, 'A-[0-9]+')Toàn bộ chuỗi khớp với một biểu thức chính quy (regex)
search(@.name, 'smith')Chuỗi có chứa một đoạn khớp ở đâu đó
value(@..price)Giá trị duy nhất mà một truy vấn tìm được

Công cụ này tuân theo chuẩn JSONPath (RFC 9535) và vượt qua bộ test chính thức của chuẩn. Các biểu thức script như (@.length-1) và =~ từ các công cụ cũ không thuộc chuẩn: thông báo lỗi sẽ chỉ cho bạn cách viết chuẩn.

Kết quả cập nhật ngay khi bạn gõ. Số lớn được giữ đủ mọi chữ số. Mọi thứ diễn ra trên thiết bị của bạn; những gì bạn dán vào đều không bị tải lên.

Cách hoạt động

  1. Chọn tệp của bạn.
  2. Điều chỉnh cài đặt nếu muốn.
  3. Tải kết quả xuống, hoặc gửi sang thiết bị khác bằng BroAllDone.

Câu hỏi thường gặp

JSONPath là gì?

Là cách viết ngắn gọn để lấy giá trị ra khỏi JSON, như $.store.book[0].title. $ là toàn bộ tài liệu, dấu chấm hoặc [ ] để đi vào một trường hay danh sách, còn .. để tìm ở mọi cấp. Nhiều API, cơ sở dữ liệu và công cụ như kubectl và Postman đều dùng JSONPath.

Làm sao lọc phần tử trong JSONPath?

Dùng ? kèm một điều kiện, trong đó @ là phần tử hiện tại: $..book[?@.price < 10] trả về các cuốn sách rẻ hơn 10. Kết hợp điều kiện bằng && và ||, và dùng ! để phủ định.

Công cụ này dùng cú pháp JSONPath nào?

Chuẩn chính thức RFC 9535, và công cụ vượt qua bộ test tuân thủ của chuẩn. Bao gồm bộ lọc, slice, các hàm length(), count(), match(), search() và value(), cùng đường dẫn chuẩn hóa.

Vì sao biểu thức tôi dùng ở công cụ khác lại không chạy?

Các công cụ cũ có thêm những cú pháp như (@.length-1), =~ hay in không thuộc chuẩn. Thông báo lỗi sẽ chỉ cách viết chuẩn, ví dụ [-1] cho phần tử cuối hoặc match() cho biểu thức chính quy.

Làm sao lấy đường dẫn của từng kết quả khớp?

Trong mục Hiển thị, chọn Đường dẫn, hoặc Đường dẫn và giá trị. Đường dẫn có thể ở dạng chuẩn hóa ($['store']['book'][0]) hoặc dạng dấu chấm ($.store.book[0]).

JSON của tôi có bị tải lên không?

Không. Mọi thứ chạy trong trình duyệt của bạn, nên bạn có thể yên tâm test phản hồi API, tệp cấu hình và dữ liệu riêng tư. Số lớn được giữ đủ mọi chữ số.

Thêm công cụ miễn phí