在C語言開發(fā)中,Json數(shù)據(jù)的處理往往是不可避免的。C語言自帶的庫雖說能夠進行Json數(shù)據(jù)的解析和生成,但是操作繁瑣,不夠簡潔。這時候,我們就可以使用C Json包來進行Json的處理。
#include "cJSON.h" #include "stdio.h" int main() { // 解析Json字符串 char *json_str = "{\"name\":\"Tom\",\"age\":18}"; cJSON *json = cJSON_Parse(json_str); if (json == NULL) { printf("解析Json字符串出錯!\n"); return -1; } // 獲取Json對象中的屬性 cJSON *name = cJSON_GetObjectItem(json, "name"); if (name == NULL) { printf("獲取Json對象屬性出錯!\n"); return -1; } printf("姓名:%s\n", name->valuestring); cJSON *age = cJSON_GetObjectItem(json, "age"); if (age == NULL) { printf("獲取Json對象屬性出錯!\n"); return -1; } printf("年齡:%d\n", age->valueint); // 生成Json字符串 cJSON *new_json = cJSON_CreateObject(); cJSON_AddStringToObject(new_json, "company", "ABC"); cJSON_AddNumberToObject(new_json, "salary", 1000); char *new_json_str = cJSON_Print(new_json); printf("%s\n", new_json_str); cJSON_Delete(json); // 釋放內(nèi)存 cJSON_Delete(new_json); return 0; }
上述代碼演示了C Json包中常用的幾個函數(shù),包括解析Json字符串、獲取Json對象屬性和生成Json字符串等操作。
在實際開發(fā)中,我們需要根據(jù)具體場景選擇不同的函數(shù)來進行Json的操作。C Json包提供了非常豐富的API,能夠滿足我們各種類型的Json操作需求。
上一篇c json反序列化例子
下一篇vue導(dǎo)出動畫