Query JSON With JMESPath

Truy vấn JSON bằng JMESPath: Hướng dẫn chi tiết cho người mới bắt đầu

Bạn đang vật lộn với dữ liệu JSON khổng lồ và muốn trích xuất thông tin cần thiết một cách nhanh chóng và hiệu quả? Đừng lo lắng, bạn không cô đơn! Hàng triệu lập trình viên và chuyên gia dữ liệu hàng ngày phải đối mặt với thách thức tương tự. Nhưng tin tốt là có một giải pháp mạnh mẽ và đơn giản: JMESPath. Đây không phải là một loại ma thuật bí ẩn nào đó, mà là một ngôn ngữ truy vấn mạnh mẽ giúp bạn dễ dàng điều khiển và biến đổi dữ liệu JSON, đặc biệt hữu ích trong các hệ thống như n8n.

Bài viết này sẽ đưa bạn đi từ những bước đầu tiên cho đến khi bạn có thể tự tin sử dụng JMESPath để “khai thác” dữ liệu JSON một cách chuyên nghiệp. Chúng ta sẽ khám phá cú pháp, các hàm quan trọng, và nhiều ví dụ thực tế để giúp bạn nắm vững JMESPath trong nháy mắt. Hãy chuẩn bị sẵn sàng để nâng cao kỹ năng xử lý dữ liệu của bạn lên một tầm cao mới!

JMESPath là gì? Tại sao bạn nên quan tâm?

JMESPath, viết tắt của JSON Matching Expression Path, là một ngôn ngữ truy vấn mạnh mẽ được thiết kế đặc biệt để thao tác với dữ liệu JSON. Nó cho phép bạn trích xuất, lọc và biến đổi các phần tử trong một tài liệu JSON phức tạp một cách dễ dàng, mà không cần viết những đoạn mã dài dòng, phức tạp. Hãy tưởng tượng bạn có một tập tin JSON khổng lồ chứa thông tin khách hàng, sản phẩm, hay bất cứ thứ gì khác. Thay vì viết hàng chục dòng mã để tìm kiếm thông tin cụ thể, JMESPath cho phép bạn làm điều đó chỉ với một vài từ khóa ngắn gọn.

Vì sao bạn nên quan tâm? Bởi vì JMESPath giúp bạn:

  • Tiết kiệm thời gian và công sức: Thao tác dữ liệu JSON trở nên nhanh chóng và hiệu quả hơn.
  • Giảm thiểu lỗi: Cú pháp đơn giản, dễ hiểu giúp giảm thiểu lỗi khi viết mã.
  • Tăng tính đọc hiểu: Mã JMESPath dễ đọc và hiểu hơn so với việc viết mã thủ công.
  • Khả năng mở rộng: JMESPath hỗ trợ nhiều loại truy vấn phức tạp, đáp ứng nhu cầu của các dự án lớn.

Cú pháp cơ bản của JMESPath trong n8n

Trong n8n, bạn sử dụng hàm jmespath() để thực hiện truy vấn JMESPath. Cú pháp cơ bản như sau: $jmespath(object, searchString) cho JavaScript và _jmespath(object, searchString) cho Python. Lưu ý rằng các biểu thức JMESPath trong n8n phải là một dòng duy nhất. Việc sử dụng các biểu thức nhiều dòng có thể gây ra lỗi.

Thứ tự tham số tìm kiếm trong n8n là search(object, searchString), điều này có thể khác với các ví dụ trong tài liệu JMESPath. Hãy nhớ điều này để tránh nhầm lẫn.

Các loại phép chiếu trong JMESPath

JMESPath hỗ trợ năm loại phép chiếu chính giúp bạn điều khiển dữ liệu một cách linh hoạt:

  1. List Projection: Truy xuất các phần tử trong một danh sách.
  2. Slice Projection: Truy xuất một phần của danh sách.
  3. Object Projection: Truy xuất các thuộc tính của một đối tượng.
  4. Flatten Projection: Làm phẳng một danh sách các danh sách.
  5. Filter Projection: Lọc các phần tử trong một danh sách dựa trên điều kiện.

Ví dụ thực tế

Hãy xem một vài ví dụ để hiểu rõ hơn về sức mạnh của JMESPath:

Giả sử bạn có một mảng JSON như sau:


  [
    {"firstName": "John", "lastName": "Doe", "age": 30},
    {"firstName": "Jane", "lastName": "Doe", "age": 25},
    {"firstName": "Peter", "lastName": "Pan", "age": 20}
  ]
  

Để trích xuất tất cả các họ, bạn có thể sử dụng truy vấn:


  `[].lastName`
  

Để lấy hai người đầu tiên, bạn dùng:


  `[:2]`
  

Để lấy tuổi của Peter, bạn sử dụng:


  `[?firstName == `Peter`].age`
  

JMESPath so với các hàm khác trong n8n

JMESPath có thể là một giải pháp thay thế tuyệt vời cho các hàm arrow function phức tạp trong n8n, đặc biệt khi bạn cần thao tác với dữ liệu JSON phức tạp. Nó giúp mã của bạn trở nên ngắn gọn, dễ đọc và dễ bảo trì hơn.

Kết luận

JMESPath là một công cụ mạnh mẽ và linh hoạt giúp bạn tối ưu hóa quy trình xử lý dữ liệu JSON. Với cú pháp đơn giản và khả năng mở rộng, JMESPath là một giải pháp hoàn hảo cho cả người mới bắt đầu và chuyên gia. Bắt đầu sử dụng JMESPath ngay hôm nay để nâng cao hiệu quả công việc của bạn!

Share it :

Đăng ký tài khoản n8n cloud miễn phí

Thuật ngữ khác

Slack Node

Tìm hiểu cách tích hợp Slack node vào workflows của bạn với tài liệu kỹ thuật chi tiết từ n8n.

Enable Prometheus Metrics

Hướng dẫn kích hoạt endpoint Prometheus metrics bằng biến môi trường N8N_METRICS. Tùy chỉnh và thu thập số liệu hàng đợi.

Quick Base Credentials

Hướng dẫn sử dụng thông tin đăng nhập Quick Base để xác thực trong n8n, nền tảng tự động hóa quy trình làm việc.

Zoom Credentials

Hướng dẫn sử dụng thông tin đăng nhập Zoom để xác thực trên n8n, nền tảng tự động hóa công việc.

Nodes Environment Variables

Hướng dẫn cấu hình biến môi trường cho nodes trong n8n tự quản lý, bao gồm cách load và loại trừ nodes, import module và kích hoạt nodes cộng đồng.

TrustRank

TrustRank giúp phân loại trang web uy tín khỏi spam bằng cách phân tích liên kết. Tìm hiểu cách Google và Yahoo sử dụng TrustRank.

Ad

Bạn cần đồng hành và cùng bạn phát triển Kinh doanh

Liên hệ ngay tới Luân và chúng tôi sẽ hỗ trợ Quý khách kết nối tới các chuyên gia am hiểu lĩnh vực của bạn nhất nhé! 🔥