jsonecho

JSON sang C++

Dán ví dụ JSON để tạo các kiểu C++ tương ứng.

Đang tải công cụ...

Cách dùng JSON sang C++

  1. Dán một ví dụ JSON đại diện cho dữ liệu của bạn, tốt nhất là đã điền cả các trường không bắt buộc.
  2. Đặt tên kiểu gốc và chọn tạo thêm mã hỗ trợ hay chỉ tạo các kiểu dữ liệu.
  3. Sao chép mã C++ đã tạo vào dự án.

Về JSON sang C++

Viết thủ công các lớp mô hình cho lượng dữ liệu JSON lớn khá nhàm chán và rất dễ gõ sai. Dán ví dụ vào đây, công cụ sẽ xác định cấu trúc: có những trường nào, trường nào là đối tượng hay mảng và mỗi giá trị có kiểu gì. Kết quả là các cấu trúc trong không gian tên quicktype, kèm hàm from_json và to_json cho thư viện nlohmann/json.

Kết quả cần thư viện nlohmann/json dạng một header, cùng một đoạn mã hỗ trợ giá trị không bắt buộc đã được đính kèm. Mọi thứ chạy trong trình duyệt nên dữ liệu ví dụ vẫn nằm trên thiết bị của bạn.

Sử dụng mã đã tạo

Bao gồm đầu nlohmann json, sau đó auto root = nlohmann::json::parse(text).get<quicktype::Root>();.

Các thành viên tùy chọn sử dụng std::shared_ptr<T> và là không hiệu lực khi khóa bị mất.

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

Mã C++ được tạo cần những thư viện hay thành phần nào?

Kết quả là các cấu trúc trong không gian tên quicktype, kèm hàm from_json và to_json cho thư viện nlohmann/json.

Làm thế nào để phân tích JSON với kết quả?

Bao gồm đầu nlohmann json, sau đó auto root = nlohmann::json::parse(text).get<quicktype::Root>();.

Trường không bắt buộc và trường bị thiếu được xử lý thế nào?

Các thành viên tùy chọn sử dụng std::shared_ptr<T> và là không hiệu lực khi khóa bị mất.

Công cụ có xem nhiều hơn một bản ghi không?

Công cụ chỉ biết những gì có trong ví dụ của bạn. Trường không có trong ví dụ sẽ không xuất hiện trong các kiểu được tạo. Nếu một giá trị là null, công cụ không xác định được kiểu của nó. Dán ví dụ có càng nhiều trường được điền càng tốt, hoặc dán một mảng gồm nhiều bản ghi khác nhau.

Dữ liệu JSON của tôi có được gửi lên máy chủ không?

Không. Ở lần dùng đầu tiên, công cụ được tải vào trình duyệt, khoảng 1 MB. Sau đó mọi thứ chạy ngay trên thiết bị.

Thêm công cụ trong Từ dữ liệu sang lớp

Tất cả công cụ →