Trong MySQL, JSON_PRETTY()
hàm cung cấp khả năng in ấn đẹp các giá trị JSON. Nó trả về các giá trị JSON theo cách được định dạng độc đáo, giúp con người chúng ta đọc dễ dàng hơn.
Bạn cung cấp các giá trị JSON làm đối số cho hàm. Sau đó, hàm trả về các giá trị được định dạng theo quy tắc định dạng của nó.
Cú pháp
Cú pháp như sau:
JSON_PRETTY(json_val)
Ở đâu json_val
là giá trị JSON để định dạng. Đây phải là giá trị JSON hoặc biểu diễn chuỗi hợp lệ của giá trị JSON. Nếu giá trị không phải là tài liệu JSON hoặc nếu không thể phân tích cú pháp thành một tài liệu thì hàm không thành công do lỗi.
Ví dụ 1 - Cách sử dụng cơ bản
Đây là một ví dụ để chứng minh.
SELECT JSON_PRETTY('{"a": 1, "b": 2, "c": 3}') Result;
Kết quả:
+----------------------------------+ | Result | +----------------------------------+ | { "a": 1, "b": 2, "c": 3 } | +----------------------------------+
Khóa và giá trị của một thành viên đối tượng được phân tách bằng dấu hai chấm theo sau là dấu cách (‘:
‘).
Dấu phẩy phân tách các thành viên đối tượng riêng lẻ được in trước dòng mới phân tách hai phần tử hoặc thành viên.
Ví dụ 2 - Mảng
Mỗi phần tử mảng hoặc thành viên đối tượng xuất hiện trên một dòng riêng biệt, được thụt lề thêm một cấp so với cấp chính của nó.
Dấu phẩy phân tách các phần tử mảng riêng lẻ được in trước dòng mới phân tách hai phần tử hoặc thành viên (giống như với các đối tượng).
Đây là một ví dụ về định dạng một mảng.
SELECT JSON_PRETTY('[1, 2, 3]') Result;
Kết quả:
+-------------------+ | Result | +-------------------+ | [ 1, 2, 3 ] | +-------------------+
Dưới đây là ví dụ về hai mảng, một mảng được lồng vào bên trong mảng kia.
SELECT JSON_PRETTY('[1, 2, [3, 4, 5]]') Result;
Kết quả:
+-------------------------------------------+ | Result | +-------------------------------------------+ | [ 1, 2, [ 3, 4, 5 ] ] | +-------------------------------------------+
Ví dụ 3 - Đối tượng và Mảng trống
Các đối tượng và mảng trống được in trên một dòng. Không có khoảng cách nào được in giữa dấu ngoặc nhọn mở và đóng.
SELECT JSON_PRETTY('[1, 2, [], {}]') Result;
Kết quả:
+--------------------------+ | Result | +--------------------------+ | [ 1, 2, [], {} ] | +--------------------------+
Ví dụ 4 - Khoảng trắng
Các khoảng trắng không liên quan và dòng mới có trong giá trị này không ảnh hưởng đến kết quả.
SELECT JSON_PRETTY('[1, 2, 3]') Result;
Kết quả:
+-------------------+ | Result | +-------------------+ | [ 1, 2, 3 ] | +-------------------+
Ví dụ 5 - Thụt lề
Mỗi cấp độ thụt lề sẽ thêm hai dấu cách ở đầu.
SET @data = '{"Person": {"Name": "Bart", "Age": 10, "Friends": ["Bart", "Milhouse"]}}'; SELECT JSON_PRETTY(@data) Result;
Kết quả:
{ "Person": { "Age": 10, "Name": "Bart", "Friends": [ "Bart", "Milhouse" ] } }