Chuyển đổi dữ liệu từ bảng tính Google Sheets thành định dạng JSON

How to convert data from Google Sheets spreadsheet to JSON format

Bạn có thể gặp trường hợp bạn cần chuyển đổi dữ liệu từ bảng tính Google Sheets của bạn thành định dạng JSON. Bạn có thể cần đến điều này để sử dụng làm đầu vào cho ứng dụng hoặc hệ thống khác.

Ví dụ, ứng dụng EZ Exporter của chúng tôi hỗ trợ một chức năng cho bạn nhập một chuỗi JSON nguyên thủy có thể được sử dụng để tìm kiếm giá trị (như một bảng tra cứu).

Dữ liệu JSON có thể có cấu trúc lồng nhau phức tạp nhưng định dạng thông thường bạn sẽ thấy là một mảng như sau:

["Alice", "Bob", "Eve", "Mary"]

Hoặc định dạng key/value (tức là từ điển) nhìn như thế này:

{"Colombia": "Bogota", "Czechia": "Prague", "Philippines": "Manila", "Japan": "Tokyo"}

Bạn có thể tạo dữ liệu định dạng JSON như thế này trong Google Sheets bằng cách sử dụng công thức.

Hãy bắt đầu với ví dụ đơn giản hơn để chuyển đổi một dãy hàng trong một cột thành một mảng JSON đơn giản:

Ví dụ chuyển đổi dữ liệu từ bảng tính Google Sheets thành JSON array

Công thức được sử dụng trong ví dụ trên là:

=ArrayFormula(concatenate("[", join(", ", char(34)&A1:A4&char(34)), "]"))

Đầu tiên, chúng ta sử dụng hàm ArrayFormula để áp dụng một công thức cho mỗi hàng trong phạm vi đã chọn (từ A1 đến A4). Với giá trị trong mỗi hàng, chúng ta bao quanh chúng bằng dấu trích dẫn (tức là phần char(34) trong công thức) và sau đó ghép chúng lại với nhau. Sau đó, chúng ta thêm dấu ngoặc vuông mở và đóng.

Bây giờ chúng ta hãy làm một ví dụ phức tạp hơn liên quan đến hai cột, trong đó cột đầu tiên sẽ là “key” và cột thứ hai là “value”. Trong ví dụ dưới đây, cột đầu tiên là quốc gia và cột thứ hai là thủ đô của quốc gia.

Ví dụ chuyển đổi dữ liệu từ bảng tính Google Sheets thành JSON dictionary

Công thức:

=ArrayFormula(concatenate("{", join(", ", char(34)&A2:A5&char(34)&char(58)&char(32)&char(34)&B2:B5&char(34)), "}"))

Công thức dường như rất phức tạp nhưng thực sự nó rất giống với công thức đầu tiên. Chúng ta chỉ sử dụng hai phạm vi ô riêng biệt ở đây và thay thế dấu ngoặc vuông bằng dấu ngoặc nhọn. Phần với hàm char() là biểu diễn unicode của các ký tự khác nhau:

  • char(34) – dấu ngoặc kép
  • char(58) – dấu hai chấm
  • char(32) – khoảng trắng

Tóm lại, hàm chính của Google Sheets để sử dụng ở đây là hàm ArrayFormula(). Chúng ta sau đó kết hợp dữ liệu cho mỗi phần tử trong mảng bằng cách sử dụng hàm join() và sau đó sử dụng hàm concatenate() để thêm dấu ngoặc mở và đóng.

Hy vọng bài viết hướng dẫn nhỏ này hữu ích cho bạn!

Related posts