Giới thiệu về Công cụ kiểm tra JSONPath
Công cụ kiểm tra JSONPath là một giải pháp trực tuyến giúp bạn thử nghiệm các biểu thức JSONPath đối với dữ liệu JSON. Khi bạn nhập dữ liệu JSON và một biểu thức JSONPath vào công cụ, hệ thống sẽ ngay lập tức hiển thị các giá trị khớp với biểu thức của bạn, đi kèm với đường dẫn chi tiết của chúng trong cấu trúc JSON gốc. Điều này giúp bạn hiểu rõ chính xác những gì biểu thức JSONPath của bạn sẽ trích xuất từ dữ liệu đầu vào.
Công cụ này được thiết kế đặc biệt để phục vụ nhiều đối tượng người dùng khác nhau, bao gồm các nhà phát triển API, kiểm thử viên, kỹ sư dữ liệu, nhân viên hỗ trợ kỹ thuật, hoặc bất kỳ ai cần xác định dữ liệu được trích xuất từ JSON. Ngoài ra, đây cũng là công cụ hữu ích cho những ai muốn sao chép một giá trị cụ thể từ JSON mà vẫn giữ lại thông tin vị trí gốc của nó.
Các đầu vào của công cụ và giới hạn hệ thống
Để sử dụng công cụ, bạn cần cung cấp hai thông tin đầu vào chính với các giới hạn cụ thể như sau:
- Đầu vào JSON: Bạn dán dữ liệu JSON của mình vào vùng văn bản. Kích thước tối đa cho dữ liệu đầu vào này là 500.000 ký tự. Nếu dữ liệu vượt quá giới hạn này, hệ thống sẽ hiển thị thông báo lỗi: "Tài liệu JSON này quá lớn để kiểm tra tại đây. Vui lòng thử với mẫu nhỏ hơn.".
- Biểu thức JSONPath: Bạn nhập hoặc dán biểu thức JSONPath vào trường văn bản. Chiều dài tối đa cho biểu thức này là 4.000 ký tự. Nếu biểu thức vượt quá giới hạn, hệ thống sẽ báo lỗi: "Biểu thức JSONPath này quá dài để kiểm tra tại đây.".
Kết quả đầu ra và các thông báo trạng thái
Khi thực hiện kiểm tra, công cụ sẽ trả về các kết quả và thông báo tương ứng với trạng thái xử lý:
- Các giá trị khớp: Danh sách các giá trị đáp ứng điều kiện của biểu thức JSONPath. Mỗi kết quả khớp đều bao gồm đường dẫn chi tiết nơi giá trị đó xuất hiện trong tài liệu JSON gốc.
- Kết quả khớp:
{count}: Hiển thị tổng số lượng kết quả khớp được tìm thấy. Công cụ hiển thị tối đa 200 kết quả. Nếu có nhiều hơn 200 kết quả, hệ thống sẽ hiển thị "Kết quả khớp: 200+" và kèm theo ghi chú "Đang hiển thị{max}kết quả đầu tiên." (với{max}là 200). - Chi tiết: Tiêu đề dành cho phần xem chi tiết của từng kết quả khớp.
- Không tìm thấy kết quả khớp.: Thông báo xuất hiện khi không có giá trị nào trong dữ liệu JSON khớp với biểu thức đã nhập.
- Đã xóa.: Thông báo hiển thị sau khi bạn thực hiện xóa sạch các dữ liệu đầu vào.
Quy tắc xử lý lỗi và các trường hợp đặc biệt
Trong quá trình vận hành, công cụ áp dụng các quy tắc nghiêm ngặt để xử lý các lỗi cú pháp hoặc giới hạn hiệu năng:
- Lỗi định dạng JSON: Nếu dữ liệu JSON đầu vào bị lỗi hoặc không đúng định dạng, hệ thống sẽ hiển thị thông báo: "Tài liệu JSON này không hợp lệ.".
- Lỗi cú pháp JSONPath: Nếu biểu thức JSONPath được nhập không đúng cú pháp, công cụ sẽ báo lỗi: "Biểu thức JSONPath này không hợp lệ.".
- Lỗi đánh giá: Trong trường hợp biểu thức JSONPath không thể đánh giá được, hệ thống sẽ hiển thị: "Không thể đánh giá biểu thức JSONPath này.".
- Giới hạn thời gian xử lý (Timeout): Công cụ sẽ tự động dừng đánh giá biểu thức JSONPath sau một giới hạn thời gian ngắn nếu quá trình xử lý mất quá nhiều thời gian. Khi xảy ra trường hợp này, hệ thống sẽ hiển thị thông báo: "Quá trình xử lý JSONPath này mất quá nhiều thời gian. Hãy thu hẹp biểu thức hoặc sử dụng mẫu nhỏ hơn.".
Cú pháp JSONPath được hỗ trợ
Công cụ hỗ trợ đầy đủ các mẫu JSONPath phổ biến để giúp bạn truy vấn dữ liệu một cách linh hoạt, bao gồm:
- Tìm kiếm đệ quy: Sử dụng cú pháp như
$..priceđể tìm kiếm các phần tử nằm sâu trong cấu trúc phân cấp của tài liệu JSON. - Bộ lọc điều kiện: Sử dụng các biểu thức lọc như
[?@.price < 10]để lọc ra các phần tử thỏa mãn điều kiện cụ thể. - Cắt lát mảng (Array slices): Hỗ trợ trích xuất các phần tử trong mảng theo chỉ mục hoặc phân đoạn.
Chính sách bảo mật dữ liệu
Khi sử dụng công cụ này, bạn hoàn toàn có thể yên tâm về tính riêng tư của dữ liệu. Tài liệu JSON và biểu thức JSONPath của bạn được kiểm tra trực tiếp ngay trong trình duyệt web của bạn. Không có bất kỳ dữ liệu nào được tải lên máy chủ của BroBroGo.
Câu hỏi thường gặp (FAQ)
Tôi có thể sử dụng cú pháp JSONPath nào?
Bạn có thể sử dụng các mẫu JSONPath phổ biến như $.store.book[*].title, tìm kiếm đệ quy với $..price, các bộ lọc như [?@.price < 10] và cắt lát mảng (array slices).
Tại sao mỗi kết quả lại hiển thị một đường dẫn? Đường dẫn cho biết vị trí xuất xứ của giá trị trong tài liệu JSON gốc, nhờ đó bạn có thể sao chép kết quả khớp mà không làm mất thông tin vị trí của nó.
Tại sao một truy vấn có thể bị quá thời gian chờ (timeout)? Các truy vấn đệ quy quá rộng hoặc các tệp mẫu quá lớn có thể mất nhiều thời gian xử lý. Công cụ kiểm tra sẽ dừng chúng sau một giới hạn ngắn để bạn có thể thu hẹp biểu thức hoặc sử dụng mẫu nhỏ hơn.