C 語言中使用 JSON 的方式很靈活,可以通過第三方庫來實現(xiàn)操作。常見的庫有以下幾種:
- cJSON - Jansson - Json-c
這里以 cJSON 為例,介紹 C 語言中 JSON 的使用方法。
首先需要引入 cJSON.h 頭文件,以及需要操作 JSON 的字符串。
#include <stdio.h> #include <cJSON.h> int main() { char *json_str = "{ \"name\": \"Jack\", \"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; }
上面的代碼中,使用 cJSON_Parse 函數(shù)將 JSON 字符串解析成 cJSON 結構體。通過 cJSON_GetObjectItem 函數(shù)獲取 JSON 中的字段數(shù)據(jù)。最后通過 cJSON_Delete 函數(shù)釋放內(nèi)存。
如果需要構造 JSON 數(shù)據(jù),可以使用 cJSON_CreateObject 函數(shù)創(chuàng)建根節(jié)點,再使用 cJSON_AddItemToObject 函數(shù)添加對應的字段。
cJSON *root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", "Jack"); cJSON_AddNumberToObject(root, "age", 20); char *json_str = cJSON_Print(root); printf("JSON String: %s\n", json_str); cJSON_Delete(root);
上面的代碼中,通過 cJSON_CreateObject 函數(shù)創(chuàng)建 cJSON 結構體,再通過 cJSON_AddStringToObject 和 cJSON_AddNumberToObject 函數(shù)添加字符串和數(shù)字字段。使用 cJSON_Print 函數(shù)將 cJSON 對象轉化成字符串。
總之,C 語言中操作 JSON 數(shù)據(jù)非常方便,在實際項目中應用非常普遍。掌握基本的 JSON 操作技巧,可以提高開發(fā)效率。