🌐 VI

🧬 JSON Schema Generator

Dán dữ liệu JSON mẫu để tự động suy ra JSON Schema draft-07. Công cụ sẽ nhận diện kiểu của từng giá trị, đánh dấu các khóa đối tượng là bắt buộc và gộp schema của các phần tử mảng.

Thêm công cụ cho lập trình viên

HƯỚNG DẪN

Tìm hiểu thêm

01

1. JSON Schema là gì

JSON Schema là một tiêu chuẩn để mô tả cấu trúc, kiểu dữ liệu và các ràng buộc của dữ liệu JSON. Nó được dùng rộng rãi để kiểm tra request/response API, xác thực file cấu hình và tự động hóa tài liệu. Công cụ này tạo bản nháp schema draft-07 từ một ví dụ JSON duy nhất, giúp bạn không phải viết thủ công từ đầu.

02

2. Quy tắc suy luận

Chuỗi, số nguyên, số thực, boolean và null lần lượt được ánh xạ sang các kiểu string, integer, number, boolean và null. Object sẽ có properties và đánh dấu mọi khóa xuất hiện là required; mảng sẽ gộp schema của tất cả phần tử vào items. Khi các phần tử mảng có khóa khác nhau, chỉ những khóa có mặt trong mọi phần tử mới được giữ là required.

03

3. Tinh chỉnh kết quả

Suy luận tự động chỉ là điểm khởi đầu. Schema thực tế thường thêm format (email, date-time), min/max length, enum, regex pattern và điều chỉnh cho các trường tùy chọn. Dữ liệu đầu vào lớn được giới hạn bởi node limit để đảm bảo hiệu năng, vì vậy hãy tạo bản nháp từ một mẫu đại diện rồi tinh chỉnh các ràng buộc sau.

Câu hỏi thường gặp

Phiên bản JSON Schema nào được tạo ra?
Schema draft-07. Trường $schema được đặt thành http://json-schema.org/draft-07/schema#.
Vì sao mọi khóa đều được đánh dấu là required?
Một khóa xuất hiện trong mẫu được suy ra là sẽ luôn có mặt, nên nó được đánh dấu required. Hãy xóa các trường tùy chọn khỏi mảng required sau khi tạo.
JSON của tôi có được gửi lên máy chủ không?
Không. Việc suy luận diễn ra hoàn toàn trong trình duyệt của bạn và dữ liệu không bao giờ được gửi lên máy chủ.
Nếu các phần tử mảng có cấu trúc khác nhau thì sao?
Schema của chúng sẽ được gộp: chỉ các khóa chung mới được giữ là required, và các kiểu trộn lẫn sẽ trở thành một mảng kiểu (integer+number được hợp nhất thành number).