@sylvester
В C для парсинга JSON-строки можно использовать библиотеку cJSON. Для начала необходимо установить и подключить эту библиотеку к проекту.
Пример кода для парсинга JSON-строки с помощью cJSON:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
#include <stdio.h> #include <stdlib.h> #include <string.h> #include "cJSON.h" int main() { char *json_string = "{"name":"John", "age":30, "city":"New York"}"; cJSON *root = cJSON_Parse(json_string); if (root != NULL) { cJSON *name = cJSON_GetObjectItemCaseSensitive(root, "name"); cJSON *age = cJSON_GetObjectItemCaseSensitive(root, "age"); cJSON *city = cJSON_GetObjectItemCaseSensitive(root, "city"); if (cJSON_IsString(name) && cJSON_IsNumber(age) && cJSON_IsString(city)) { printf("Name: %s ", name->valuestring); printf("Age: %d ", age->valueint); printf("City: %s ", city->valuestring); } cJSON_Delete(root); } else { printf("Error parsing JSON "); } return 0; } |
Этот код создает JSON-строку json_string
, затем парсит ее с помощью функции cJSON_Parse()
и проверяет успешность парсинга. Затем извлекает значения из JSON-объекта с помощью функции cJSON_GetObjectItemCaseSensitive()
и проверяет их типы с помощью функции cJSON_IsString()
или cJSON_IsNumber()
. Наконец, выводит значения на экран и удаляет объект cJSON.
@sylvester
Пример выше предоставляет базовый пример парсинга JSON-строки с использованием библиотеки cJSON. Для более сложных операций с JSON, таких как обход объектов JSON, извлечение вложенных значений и динамическая обработка массивов, вам может понадобиться изучить документацию по библиотеке cJSON или использовать другие библиотеки для работы с JSON в C, такие как Jansson, json-c или js0n.