Chuyển đến nội dung
SPCX Tools

JSONPath Tester

Kiểm tra và đánh giá biểu thức JSONPath với dữ liệu JSON của bạn ngay trên trình duyệt.

Chạy cục bộ — tệp không bao giờ rời khỏi thiết bị của bạn

Đang tải công cụ…

Cách sử dụng JSONPath Tester

  1. 1Dán hoặc nhập dữ liệu JSON vào khung bên trái, hoặc nhấn "Sample" để tải dữ liệu mẫu.
  2. 2Nhập biểu thức JSONPath vào ô nhập liệu ở đầu trang.
  3. 3Nhấn vào các nút ví dụ nhanh bên dưới ô nhập liệu để xem các mẫu truy vấn phổ biến.
  4. 4Xem kết quả, tổng số lượng khớp và đường dẫn chính xác của các phần tử khớp ở khung bên phải.

Công cụ kiểm tra JSONPath nhanh và bảo mật

Khi làm việc với dữ liệu JSON lớn hoặc lồng nhau nhiều lớp, việc trích xuất chính xác thông tin bạn cần có thể rất vất vả. Công cụ kiểm tra JSONPath này cung cấp môi trường trực tiếp để viết, kiểm tra và gỡ lỗi truy vấn của bạn. Ngay khi bạn gõ biểu thức, công cụ sẽ lập tức xử lý trên dữ liệu JSON, hiển thị cả giá trị được trích xuất và đường dẫn chính xác của các giá trị đó.

Vì đây là công cụ xử lý JSONPath hoàn toàn ở phía client, mọi thao tác đều diễn ra cục bộ trên thiết bị của bạn. Dữ liệu JSON không bao giờ bị gửi lên máy chủ. Do đó, bạn có thể an tâm dán các payload API thực tế (production), dữ liệu xuất từ database hoặc các file cấu hình nhạy cảm mà không lo rò rỉ dữ liệu hay vi phạm quyền riêng tư.

Các tính năng chính cho lập trình viên

  • Xử lý theo thời gian thực: Kết quả cập nhật ngay lập tức khi bạn thay đổi dữ liệu JSON hoặc câu truy vấn. Không cần bấm nút gửi hay chờ server phản hồi.
  • Phân tích cú pháp an toàn: Công cụ sử dụng engine xử lý bảo mật (eval: 'safe') cho các truy vấn, giúp ngăn chặn thực thi mã độc nhưng vẫn hỗ trợ đầy đủ các biểu thức lọc phức tạp.
  • Trích xuất đường dẫn: Ngoài việc hiển thị giá trị khớp, công cụ còn tạo đường dẫn tuyệt đối cho từng kết quả. Điều này rất hữu ích nếu sau này bạn cần dùng code để cập nhật các node cụ thể đó.
  • Ví dụ tích hợp sẵn: Nếu chưa quen với cú pháp, bạn có thể tải dữ liệu mẫu về cửa hàng sách và thử click vào các biểu thức có sẵn để xem cách hoạt động của từng toán tử.

Cách viết truy vấn JSONPath

JSONPath sử dụng cú pháp riêng để duyệt qua các đối tượng và mảng JSON. Nếu bạn muốn kiểm tra logic của biểu thức JSONPath, việc nắm rõ các toán tử cơ bản sau sẽ rất hữu ích:

  • $ đại diện cho đối tượng hoặc mảng gốc. Mọi biểu thức JSONPath tuyệt đối đều bắt đầu bằng ký hiệu này.
  • @ đại diện cho node hiện tại đang được xử lý. Nó chủ yếu được dùng trong các biểu thức lọc.
  • . hoặc [] là các toán tử con dùng để chọn thuộc tính. Ví dụ: $.store.book và $['store']['book'] có tác dụng như nhau.
  • .. là toán tử duyệt đệ quy. Nó tìm kiếm một key cụ thể ở bất kỳ đâu trong cây JSON, bất kể mức độ lồng nhau (ví dụ: $..price sẽ tìm mọi giá trị price).
  • * là ký tự đại diện (wildcard) khớp với mọi phần tử trong một đối tượng hoặc mảng. Ví dụ: $.store.* sẽ chọn mọi thứ nằm trực tiếp bên trong đối tượng store.
  • [?()] dùng để áp dụng biểu thức lọc. Bạn có thể sử dụng các toán tử logic tiêu chuẩn bên trong nó. Ví dụ: $..book[?(@.author == 'Nigel Rees')] sẽ tìm tất cả sách do tác giả này viết.
  • [start:end:step] cho phép bạn cắt mảng (slice), tương tự như Python. $.store.book[-1:] sẽ chọn cuốn sách cuối cùng trong mảng.

Các trường hợp sử dụng phổ biến

Phát triển và gỡ lỗi API. Các API REST và GraphQL hiện đại thường trả về các payload JSON rất lớn. Thay vì viết mã tạm thời để phân tích và kiểm tra phản hồi, bạn có thể dán dữ liệu vào công cụ JSONPath online này để nhanh chóng xác minh cấu trúc dữ liệu và đảm bảo truy vấn của bạn trích xuất đúng các trường cần thiết.

Kiểm thử tự động. Khi viết kiểm thử tích hợp hoặc kiểm thử toàn trình (sử dụng các công cụ như Postman, RestAssured, hoặc Playwright), bạn thường cần xác nhận (assert) rằng các giá trị cụ thể có tồn tại trong phản hồi JSON. Sử dụng công cụ kiểm tra jsonpath giúp bạn hoàn thiện chuỗi truy vấn trước khi hardcode vào bộ kiểm thử của mình.

Trích xuất và chuyển đổi dữ liệu. Nếu bạn đang di chuyển dữ liệu hoặc xây dựng các pipeline ETL (Extract, Transform, Load), bạn thường cần tách biệt các mảng hoặc đối tượng cụ thể. Bạn có thể dùng công cụ này để tìm ra chính xác đường dẫn cần thiết nhằm trích xuất dữ liệu mục tiêu. Nếu dữ liệu nguồn của bạn là XML, trước tiên bạn có thể dùng công cụ chuyển đổi XML sang JSON, và nếu cần định dạng lại dữ liệu đã minify trước khi kiểm tra, công cụ Định dạng JSON sẽ rất hữu ích. Bạn cũng có thể dùng công cụ So sánh JSON để xem dữ liệu thay đổi ra sao trước và sau khi chuyển đổi.

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

JSONPath là gì?
JSONPath là ngôn ngữ truy vấn dữ liệu JSON, tương tự như XPath dùng cho XML. Nó cho phép bạn chọn và trích xuất các node, mảng hoặc giá trị cụ thể từ một cấu trúc JSON phức tạp bằng một biểu thức chuỗi ngắn gọn.
Dữ liệu JSON của tôi có bảo mật không?
Có. Công cụ này hoạt động hoàn toàn cục bộ trên trình duyệt của bạn. Dữ liệu JSON và các truy vấn không bao giờ bị tải lên bất kỳ máy chủ nào, đảm bảo an toàn tuyệt đối khi kiểm tra các phản hồi API nhạy cảm, file cấu hình hoặc dữ liệu nội bộ.
Làm thế nào để lọc dữ liệu theo một điều kiện cụ thể?
Bạn có thể dùng biểu thức lọc với cú pháp [?(@.property == 'value')]. Ví dụ: $.store.book[?(@.price < 10)] sẽ trả về tất cả sách trong mảng store có giá nhỏ hơn 10.
Tôi có thể xem vị trí chính xác của các phần tử trùng khớp không?
Có. Bên dưới phần kết quả chính có một mục "Paths" có thể mở rộng. Khi mở mục này, bạn sẽ thấy JSONPath tuyệt đối và chính xác cho từng phần tử trùng khớp trong tập kết quả.
Tại sao tôi gặp lỗi "Invalid JSON"?
JSON yêu cầu định dạng rất nghiêm ngặt. Hãy đảm bảo tất cả các key và giá trị chuỗi đều được đặt trong dấu ngoặc kép (không dùng dấu ngoặc đơn), đồng thời không có dấu phẩy thừa ở cuối phần tử cuối cùng trong một object hoặc array.
Công cụ này sử dụng chuẩn JSONPath nào?
Công cụ này sử dụng thư viện jsonpath-plus phổ biến, hỗ trợ đầy đủ chuẩn JSONPath gốc đồng thời bổ sung một số tính năng mở rộng an toàn cho các truy vấn phức tạp hơn. Nó đánh giá các biểu thức một cách an toàn mà không sử dụng hàm eval() của JavaScript.