Nhà phát triển / Loại

Bộ chuyển đổi JSON sang Python

Chuyển mẫu JSON thành dataclass, định nghĩa TypedDict hoặc mô hình Pydantic trong Python, hỗ trợ lớp lồng nhau, trường tùy chọn, có thể null và tên snake_case.

Bộ chuyển đổi JSON sang Python: Bộ chuyển đổi đọc cấu trúc của mẫu: mỗi đối tượng trở thành một lớp, các mảng trở thành list[...], còn các đối tượng trong một mảng được gộp lại. Vì vậy, khóa bị thiếu trong một số bản ghi sẽ trở thành tùy chọn, còn khóa đôi khi có giá trị null sẽ trở thành "| None". Các khóa không phải tên hợp lệ trong Python sẽ được chuyển thành snake_case; mô hình Pydantic giữ khóa gốc làm bí danh, còn TypedDict chuyển sang dạng hàm. Kết quả từ một số mẫu khó xử lý đã được chạy trong Python 3.13; Pydantic cũng đã xác thực mẫu dựa trên kết quả đó. Chạy 100% cục bộ trong trình duyệt của bạn, không có tệp nào được tải lên máy chủ.

Lượt chạy
Trong trình duyệt của bạn
Chi phí
Miễn phí · không cần đăng ký
Trạng thái khả dụng
Sẵn sàng sử dụng
JSON sang PythonXử lý cục bộ

Chạy hoàn toàn trong trình duyệt của bạn

Python

from __future__ import annotations

from dataclasses import dataclass


@dataclass
class Address:
    city: str
    zip_code: str


@dataclass
class User:
    id: int
    user_name: str
    avatar_url: str
    score: float
    tags: list[str]
    address: Address
    manager_id: int | None
    nickname: str | None = None


UserList = list[User]

Được viết cho Python 3.10 trở lên. Các khóa bị thiếu trong một số đối tượng trở thành tùy chọn; các khóa đôi khi có giá trị null trở thành “| None”. Dataclasses không ánh xạ các khóa đã đổi tên trở lại JSON, vì vậy hãy dùng Pydantic, công cụ bổ sung bí danh, khi các khóa không phải là tên Python hợp lệ.

Từ kiểu dữ liệu đến xác thực

Chỉ chú thích kiểu dữ liệu không kiểm tra dữ liệu trong thời gian chạy: json.loads trả về các dict và list thông thường, bất kể chú thích nói gì. Mô hình Pydantic xác thực và chuyển đổi dữ liệu khi phân tích, bằng Model.model_validate(data), đồng thời báo cáo mọi trường không phù hợp.

Để xem cùng một mẫu trong các ngôn ngữ khác, hãy xem JSON sang TypeScript và JSON sang Go; để có một hợp đồng độc lập với ngôn ngữ, hãy xem JSON sang JSON Schema.

Tạo một mẫu hữu ích

Hãy dán nhiều bản ghi thay vì chỉ một bản ghi, bao gồm cả những bản ghi có trường tùy chọn hoặc rỗng, để bộ chuyển đổi có thể nhận biết những khóa nào luôn xuất hiện. Các giá trị luôn là null hoặc mảng rỗng sẽ được chuyển thành Any để bạn điền thủ công.

Cách sử dụng

  1. Dán một mẫu JSON, tốt nhất là một mảng gồm nhiều bản ghi điển hình.
  2. Chọn dataclasses, TypedDict hoặc Pydantic, rồi đặt tên cho kiểu cấp cao nhất.
  3. Sao chép các lớp được tạo vào dự án của bạn.

Quyền riêng tư và giới hạn

JSON được chuyển đổi trong trình duyệt của bạn và không bao giờ được tải lên.

Công cụ liên quan

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

Tôi nên sử dụng kiểu nào?

Dùng Pydantic để xác thực và phân tích dữ liệu từ API, TypedDict để kiểm tra kiểu cho mã truyền các dict thông thường qua lại, và dataclasses cho các đối tượng nội bộ đơn giản do bạn tự tạo.

Mã cần phiên bản Python nào?

Python 3.10 trở lên để dùng cú pháp X | None; NotRequired trong TypedDict cần Python 3.11, hoặc cần typing_extensions nếu dùng phiên bản cũ hơn.

Tại sao một số trường có kiểu Any?

Một khóa luôn có giá trị null hoặc một mảng rỗng không cung cấp thông tin về kiểu dữ liệu; hãy thay Any bằng kiểu thực tế trong tài liệu API của bạn.

Công cụ miễn phí · trong trình duyệt của bạn lượt chạy · không cần tài khoản