C JSON是一種處理JSON格式數據的工具,可以用來讀取和生成JSON字符串。它提供了一套API,可以方便地在C程序中解析和操作JSON數據。
// 讀取JSON字符串 #include <stdio.h> #include <cJSON.h> int main() { char *json_str = "{ \"name\": \"Alice\", \"age\": 20 }"; cJSON *root = cJSON_Parse(json_str); cJSON *name = cJSON_GetObjectItem(root, "name"); cJSON *age = cJSON_GetObjectItem(root, "age"); printf("name: %s, age: %d\n", name->valuestring, age->valueint); cJSON_Delete(root); return 0; }
上面的代碼讀取了一個JSON字符串,然后通過cJSON_Parse函數將其解析為一個JSON對象,再用cJSON_GetObjectItem函數獲取其中的字段。最后用cJSON_Delete函數釋放占用的內存。
// 生成JSON字符串 #include <stdio.h> #include <cJSON.h> int main() { cJSON *root, *name, *age; root = cJSON_CreateObject(); name = cJSON_CreateString("Bob"); age = cJSON_CreateNumber(25); cJSON_AddItemToObject(root, "name", name); cJSON_AddItemToObject(root, "age", age); char *json_str = cJSON_PrintUnformatted(root); printf("%s\n", json_str); cJSON_free(json_str); cJSON_Delete(root); return 0; }
上面的代碼生成了一個JSON對象,然后用cJSON_PrintUnformatted函數將其轉化為JSON字符串,并輸出到控制臺。最后用cJSON_free函數釋放占用的內存。
除了上述API外,C JSON還提供了其他一些常用的函數,如cJSON_CreateArray、cJSON_GetArraySize、cJSON_GetArrayItem等,可供根據實際需要選用。
C JSON是一個非常實用的工具,可以方便地處理JSON格式數據。在實際應用中,只需要熟練掌握相關API,就可以輕松地完成JSON數據的讀取和生成。