C JSON是一種常用的用于處理JSON格式數(shù)據(jù)的庫。它提供了一系列的API來方便地解析JSON數(shù)據(jù),以及構(gòu)造JSON數(shù)據(jù)。
示例代碼: #include <stdio.h>#include <cjson/cJSON.h>int main() { char* json_str = "{\"name\": \"Tom\", \"age\": 18}"; 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; }
以上是一個簡單的使用C JSON庫解析JSON數(shù)據(jù)的示例。首先需要引用cJSON.h頭文件,接著通過cJSON_Parse函數(shù)解析JSON字符串得到一個cJSON對象,再通過cJSON_GetObjectItem函數(shù)獲取對象中的屬性值。最后需要釋放對象內(nèi)存空間。
另外,C JSON還提供了很多其他的功能,如創(chuàng)建JSON對象、數(shù)組、修改JSON數(shù)據(jù)等等。具體使用可以參考官方文檔。
示例代碼: #include <cjson/cJSON.h>int main() { cJSON* root = cJSON_CreateObject(); cJSON* arr = cJSON_CreateArray(); cJSON_AddItemToObject(root, "name", cJSON_CreateString("Tom")); cJSON_AddItemToObject(root, "age", cJSON_CreateNumber(18)); cJSON_AddItemToObject(root, "hobby", arr); cJSON_AddItemToArray(arr, cJSON_CreateString("reading")); cJSON_AddItemToArray(arr, cJSON_CreateString("sports")); printf("%s\n", cJSON_Print(root)); cJSON_Delete(root); return 0; }
以上是一個創(chuàng)建JSON數(shù)據(jù)的示例,首先通過cJSON_CreateObject函數(shù)創(chuàng)建一個JSON對象,接著通過cJSON_CreateArray函數(shù)創(chuàng)建一個JSON數(shù)組,然后通過cJSON_AddItemToObject和cJSON_AddItemToArray函數(shù)添加屬性值。最后通過cJSON_Print函數(shù)將JSON對象轉(zhuǎn)換為字符串輸出。
總的來說,C JSON是一個使用廣泛,且功能豐富的JSON數(shù)據(jù)處理庫,可以方便地處理各種JSON格式數(shù)據(jù)。在C語言開發(fā)中特別是網(wǎng)絡(luò)通信等方面,都有非常廣泛的應(yīng)用。