Công cụ tạo TypeScript từ JSON miễn phí
Đừng viết tay interface cho API response nữa. Dán JSON và nhận TypeScript interface, object lồng nhau được tách thành type riêng và shape của phần tử mảng được suy luận tự động.
Đặt tên root interface, sao chép output vào dự án và dùng với fetch hoặc HTTP client để có type safety đầy đủ. Mọi thứ chạy phía client trong trình duyệt.
Frequently Asked Questions
What TypeScript types are generated?
Primitive JSON values map to string, number, boolean, and null. Arrays become Type[] with the element type inferred from the first item. Objects become interfaces with named properties. Nested objects generate separate interface definitions.
How are optional fields handled?
Properties present in the sample JSON are included as required fields. If you need optional fields, add them to your sample JSON with null values, or manually add ? to the generated interface properties.
Can I name the root interface?
Yes. Set a custom root interface name before generating. Nested interfaces are named automatically based on property names (e.g., Address for an address object).
Does this handle union types?
The generator infers types from a single sample. If a field can be string or number, provide samples that include both variants, or manually adjust the generated type to a union (string | number).
Is the output compatible with strict TypeScript?
Yes. Generated interfaces use standard TypeScript syntax compatible with strict mode. Review nullable fields - JSON null maps to null in the type, not undefined. Adjust to field?: Type | null if needed.