Ввод JSON
Сгенерированный C
Введите JSON, чтобы сгенерировать структуры C
Структуры с безопасным управлением памятью
Генерируйте структуры C из JSON‑структур данных
Введите JSON, чтобы сгенерировать структуры C
Структуры с безопасным управлением памятью
Используйте этот генератор JSON в C для создания структур C из образцов JSON для встроенных систем, библиотек C и низкоуровневых интеграций.
Шаг 1. Вставьте образец JSON.
Import для загрузки JSON из файла, URL-адреса или образца данных.Шаг 2. Выберите параметры структуры C.
Struct Name для вашей корневой модели (например, Root).json-c), если вам нужны помощники по синтаксическому анализу.Шаг 3. Просмотрите сгенерированный код.
Root Type Name, обработку значений NULL и платформы, если они доступны.Шаг 4. Интегрируйте структуры в ваш проект C.
.h/.c в свою сборку и при необходимости включите заголовок.Шаг 5 – Скопируйте или загрузите
Советы
// Ввод JSON
{
"id": 123,
"name": "Maeve Winters",
"email": "[email protected]",
"active": true,
"roles": ["admin", "editor"],
"metadata": { "plan": "pro" },
"createdAt": "2024-03-01T10:15:00Z",
"score": 99.5,
"notes": null
}
// Generated C structs (simplified)
typedef struct Metadata {
char* plan;
} Metadata;
typedef struct Root {
int id;
char* name;
char* email; // nullable in JSON
int active;
char** roles;
int roles_count;
Metadata metadata;
char* createdAt;
double score;
void* notes;
} Root;Узнайте больше об инструментах JSON и схемы, которые отлично работают вместе с генератором JSON в C.
Преобразуйте существующие структуры C в примеры JSON и схемы JSON для документации и проверки.
Создайте схему JSON на основе образцов JSON для проверки полезных данных и контрактов.
Отформатируйте и проверьте JSON перед созданием структур, чтобы избежать проблем во время выполнения.
Создавайте модели C++, если вы предпочитаете контейнеры RAII и STL для данных JSON.
Генератор создаёт стандартные определения struct в C с функциями управления памятью (create и free), поддерживает базовое соответствие типов и следует соглашениям именования C.
Сгенерированный код включает функции create_ и free_ для безопасного выделения и освобождения памяти. Для строковых полей требуется ручное управление памятью.
Выберите фреймворк «JSON‑C», чтобы сгенерировать код, совместимый с библиотекой json-c, включая нужные заголовки.
Массивы маппятся на указатели void**, вложенные объекты — на void*. Понадобятся приведения типов и управление памятью в зависимости от задач.