DevToys Web Pro iconDevToys Web ProBlog
Đánh giá chúng tôi:
Dùng thử tiện ích mở rộng trình duyệt:

Trình kiểm thử JSONPath

Biểu thức JSONPath

Đầu vào JSON

  • Kết quả

  • Loading editor...
    Không tìm thấy kết quả
    Cú phápMô tả
    $Đối tượng hoặc mảng gốc
    @Nút hiện tại (dùng trong biểu thức lọc)
    object.propertyPhần tử con theo ký hiệu dấu chấm
    ['object'].['property']Phần tử con theo ký hiệu ngoặc vuông
    ..propertyDuyệt đệ quy
    *Ký tự đại diện. Chọn tất cả phần tử
    [n]Chọn phần tử thứ n từ một mảng
    [n1,n2]Chọn các phần tử mảng n1 và n2 (hợp)
    [start:end:step]Toán tử cắt mảng
    ?(expression)Biểu thức lọc
    (expression)Biểu thức script
    Chi tiết kỹ thuật

    Cách Trình Kiểm Thử JSONPath Hoạt Động

    Công cụ làm gì

    Trình kiểm thử JSONPath cho phép bạn truy vấn dữ liệu JSON lồng nhau bằng các biểu thức JSONPath, tương tự như cách XPath hoạt động với XML. Trình kiểm thử jsonpath này hoạt động như một công cụ kiểm thử biểu thức JSONPath và bộ chọn json, giúp lập trình viên trích xuất các giá trị, mảng hoặc đối tượng cụ thể từ các cấu trúc JSON phức tạp. Khi bạn cần test jsonpath online, công cụ này hiển thị tất cả các giá trị khớp và đường dẫn của chúng. Nó hỗ trợ cú pháp JSONPath bao gồm ký hiệu dấu chấm ( $.store.book), ký hiệu ngoặc ( $['store']['book']), ký tự đại diện ( $..*), cắt lát mảng và các biểu thức lọc. Công cụ này tuân theo ngữ nghĩa jsonpath-plus; các triển khai JSONPath có thể khác nhau, vì vậy nếu biểu thức của bạn hoạt động ở nơi khác nhưng không hoạt động ở đây, có thể là do khác biệt về phương ngữ. Nó hiển thị cả giá trị khớp và đường dẫn JSONPath, giúp dễ dàng hiểu cách các biểu thức điều hướng qua các cấu trúc JSON.

    Các trường hợp sử dụng phổ biến cho lập trình viên

    Lập trình viên sử dụng trình kiểm thử JSONPath khi làm việc với phản hồi API, tệp cấu hình hoặc các cấu trúc dữ liệu JSON lồng nhau phức tạp. Trình kiểm thử biểu thức JSONPath giúp trích xuất các trường cụ thể từ các đối tượng lồng sâu, lọc mảng theo điều kiện, hoặc tìm tất cả các lần xuất hiện của một khóa cụ thể. Nhiều lập trình viên dùng trình kiểm thử JSONPath để truy vấn dữ liệu JSON từ REST API, phân tích tệp log hoặc điều hướng các đối tượng cấu hình phức tạp. Công cụ này hữu ích khi gỡ lỗi biến đổi dữ liệu, xác thực phản hồi API hoặc hiểu các schema JSON phức tạp. Trước khi chạy truy vấn JSONPath, bạn có thể muốn định dạng JSON bằng JSON Formatter để dễ đọc hơn. Với tệp cấu hình, JSON ↔ YAML Converter có thể giúp chuyển đổi giữa các định dạng. Khi kiểm tra dữ liệu mảng, công cụ JSON Array to Table có thể xuất kết quả sang dạng bảng để phân tích dễ hơn.

    Định dạng dữ liệu, kiểu hoặc biến thể

    JSONPath cung cấp nhiều cách để điều hướng cấu trúc JSON. Công cụ hỗ trợ bộ chọn gốc ($), bộ chọn con (. hoặc []), bộ chọn hậu duệ ( ..), lập chỉ mục mảng ([0], [-1]) và cắt lát mảng ( [0:3]). Các biểu thức JSONPath phổ biến mà lập trình viên sử dụng:

    • $.items[*].id — Trích xuất tất cả trường id từ mảng items
    • $..id— Tìm tất cả trường id ở mọi mức lồng nhau
    • $['key-with-dash'] — Truy cập các khóa có ký tự đặc biệt
    • $..book[?(@.price < 10)].title — Lọc sách theo giá và trích xuất tiêu đề

    Các biểu thức này minh họa cách JSONPath có thể truy vấn các mảng lồng nhau, lọc đối tượng theo điều kiện và trích xuất các trường cụ thể từ các cấu trúc phức tạp.

    Các lỗi thường gặp và trường hợp biên

    Một lỗi phổ biến là nhầm lẫn JSONPath với cách truy cập thuộc tính đối tượng trong JavaScript, vì JSONPath dùng cú pháp khác cho việc lọc mảng và ký tự đại diện. Một vấn đề khác là hiểu khi nào nên dùng ký hiệu dấu chấm so với ký hiệu ngoặc: ký hiệu dấu chấm hoạt động với các khóa đơn giản, nhưng ký hiệu ngoặc là bắt buộc với các khóa có ký tự đặc biệt hoặc khi dùng biểu thức. Lập chỉ mục mảng có thể gây khó: chỉ mục âm như [-1] tham chiếu phần tử cuối cùng, nhưng không phải mọi triển khai JSONPath đều hỗ trợ điều này. Biểu thức lọc phải dùng đúng toán tử so sánh và tham chiếu mục hiện tại bằng @. Bộ chọn hậu duệ (..) có thể trả về kết quả không mong muốn nếu nó khớp nhiều phần tử hơn dự định. Lập trình viên nên kiểm thử biểu thức JSONPath với nhiều cấu trúc JSON khác nhau, bao gồm các trường hợp biên như mảng rỗng, giá trị null và đối tượng lồng sâu. Một số triển khai JSONPath có khác biệt tinh tế trong cách xử lý các trường hợp biên, vì vậy việc kiểm thử là rất cần thiết.

    Lỗi và Xác thực

    Khi làm việc với JSONPath, có thể xảy ra một số điều kiện lỗi. Đầu vào JSON không hợp lệ sẽ gây lỗi phân tích cú pháp trước khi biểu thức JSONPath được đánh giá. Biểu thức JSONPath không hợp lệ sẽ trả về thông báo lỗi cho biết cú pháp sai ở đâu. Kết quả rỗng được trả về dưới dạng một mảng rỗng khi biểu thức không khớp giá trị nào trong cấu trúc JSON—đây là hành vi bình thường, không phải lỗi. Công cụ xác thực cả cú pháp JSON và cú pháp biểu thức JSONPath, cung cấp thông báo lỗi rõ ràng cho đầu vào sai định dạng. Nếu biểu thức JSONPath của bạn hợp lệ nhưng không trả về kết quả, có thể biểu thức không khớp với cấu trúc dữ liệu JSON của bạn, hoặc dữ liệu không chứa các trường như mong đợi.

    Khi nào nên dùng công cụ này thay vì viết mã

    Hãy dùng trình kiểm thử JSONPath này để phát triển truy vấn nhanh, gỡ lỗi các biểu thức phức tạp hoặc khám phá cấu trúc dữ liệu JSON. Nó lý tưởng để kiểm thử biểu thức JSONPath trước khi triển khai trong mã, đặc biệt khi làm việc với các API lạ hoặc dữ liệu lồng nhau phức tạp. Phản hồi trực quan giúp xác định vì sao biểu thức khớp hoặc không khớp với dữ liệu cụ thể. Với mã chạy thực tế, hãy dùng các thư viện JSONPath tích hợp trong ứng dụng của bạn để xử lý dữ liệu JSON hiệu quả. Công cụ trên trình duyệt nổi trội ở phát triển tương tác và khám phá, trong khi giải pháp dựa trên mã cung cấp hiệu năng, an toàn kiểu và tích hợp với các pipeline xử lý dữ liệu. Với tập dữ liệu lớn hoặc ứng dụng yêu cầu hiệu năng cao, các triển khai JSONPath bản địa trong ngôn ngữ lập trình của bạn sẽ cho hiệu năng tốt hơn so với công cụ dựa trên trình duyệt.