Ý chính:

  • bản đồ biến đổi dữ liệu
  • Nếu lặp qua các phần tử trong một mảng
  • Nó áp dụng một phép biến đổi cho từng phần tử
  • Chỉ áp dụng cho đầu vào mảng
  • Nó chỉ có thể xuất ra một mảng

Chức năng của bản đồ được sử dụng để làm gì?

bản đồ được sử dụng để biến đổi dữ liệu có trong một mảng. Nó thực hiện điều này bằng cách lặp lại các phần tử trong mảng và áp dụng một phép chuyển đổi cho mỗi phần tử. Kết quả của phép biến đổi được thu thập cùng nhau và xuất ra dưới dạng một mảng các phần tử được biến đổi. Nếu bạn đã quen với phương pháp lập trình hàm Java 8, có thể thực hiện một so sánh với phương pháp map() Của Lớp Stream hãy tìm hiểu thêm trong bài viết của tôi Tương phản DataWeave và các thao tác ánh xạ Java.

Sự chuyển đổi được mô tả như thế nào?

Sự chuyển đổi được áp dụng cho từng phần tử được mô tả bằng DataWeave. Ví dụ: để thay đổi giá trị văn bản trong mảng nguồn, hãy sử dụng upper() được xây dựng trong chức năng.

Chức năng của bản đồ hoạt động như thế nào?

bản đồ nhận hai đầu vào, mảng để biến đổi và tập lệnh chuyển đổi được trình bày dưới dạng biểu thức lambda. Mảng luôn ở bên trái bản đồ và biểu thức lambda luôn ở bên phải bản đồ.

Ví dụ đơn giản về chức năng của bản đồ

Trong hình 1 map biểu diễn trên mảng, từng phần tử và chuyển từng phần tử vào biểu thức lambda ở bên phải bản đồ. Biểu thức lambda chuyển phần tử vào upper() chuyển đổi phần tử thành chữ hoa.

Hình 1: Mảng được biến đổi bởi biểu thức lambda

map tạo trên mọi phần tử trong mảng và áp dụng lambda chuyển đổi cho từng phần tử. Đầu ra của mỗi phép biến đổi được thu thập lại với nhau thành một mảng. Hình 2 cho thấy kết quả đầu ra.

Hình 2: Kết quả chuyển đổi bản đồ

Chức năng mặc định của bản đồ

Hàm lambda có thể được đơn giản hóa bằng cách sử dụng các giá trị mặc định được tích hợp sẵn cho elementindexđô la đơn $ và $ gấp đôi tương ứng. map ví dụ trong hình 1 sẽ được chuyển đổi như trong hình 3.

Hình 3: Sử dụng $ default để biểu diễn phần tử

Chuyển đổi một mảng JSON với chức năng bản đồ

map có thể được sử dụng để biến đổi một mảng các đối tượng JSON. Biểu thức biến đổi được áp dụng cho từng đối tượng trong mảng. Đồng đô la (element) tham chiếu đến toàn bộ đối tượng để một trường của đối tượng đó có thể được tham chiếu bằng cách sử dụng khái niệm bộ chọn duy nhất. Xem xét mảng các đối tượng JSON trong hình 4.

Hình 4: Một mảng các đối tượng JSON

Mỗi đối tượng có hai trường symbolprice, có các giá trị liên quan. Họ có thể được giới thiệu bằng cách sử dụng elementindex hoặc $ và $$ mặc định.

Hình 5: Chuyển đổi mảng JSON – biểu mẫu hoàn chỉnh

Hình 6: Chuyển đổi mảng JSON – sử dụng giá trị mặc định

Hình 7: Đầu ra của hình 5 và 6

Ví dụ nâng cao về chức năng của bản đồ

Một ví dụ phức tạp hơn sẽ biến đổi giá trị của các phần tử, chẳng hạn như trong hình 8.

Hình 8: Biến đổi từng phần tử trong mảng JSON

Hình 9: Kết quả từ việc chuyển đổi bản đồ trong hình 8

Bản đồ DataWeave Chức năng đối tượng

Hàm mapObject của DataWeave hoạt động trên Đối tượng bao gồm cặp khóa và giá trị giống như hàm bản đồ hoạt động trên một mảng. Mỗi cặp khóa và giá trị được biến đổi bởi tập lệnh chuyển đổi đã cho và phép biến đổi kết quả được xuất ra một đối tượng.

Trong bài viết này, chúng ta đã khám phá DataWeave: Giải thích về chức năng của bản đồ mà bạn cần biết !. Trong trường hợp bạn có bất kỳ câu hỏi nào, xin vui lòng hỏi signalfix.net trong phần bình luận bên dưới.