Как добавлять объекты в массив cJSON |
|
Добавил(а) microsin
|
Предположим, что нужно создать вот такую структуру JSON:
{
"name": "Мониторы 4K",
"resolutions": [
{
"width": 1280,
"height": 720
},
{
"width": 1920,
"height": 1080
},
{
"width": 3840,
"height": 2160
}
]
}
Пример кода, который это делает:
cJSON *jmonitor = cJSON_CreateObject();
cJSON_AddStringToObject(jmonitor, "name", "Awesome 4K");
jresolutions = cJSON_CreateArray();
cJSON_AddItemToObject(jmonitor, "resolutions", jresolutions);
cJSON *jresolution = NULL;
for (int index = 0; index < (sizeof(resolution_numbers) / (2 * sizeof(int))); index++)
{
jresolution = cJSON_CreateObject();
cJSON_AddNumberToObject(jresolution, "width", resolution_numbers[index][0]);
cJSON_AddNumberToObject(jresolution, "height", resolution_numbers[index][0]);
cJSON_AddItemToArray(jresolutions, jresolution);
}
printf("%s\n", cJSON_Print(jmonitor));
cJSON_Delete(jmonitor);
[Ссылки]
1. roelay / cJSON site:gitee.com. 2. cJSON: как прочитать массив JSON. |