JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,通常用于前后端交互。在C語言中,我們可以使用各種JSON庫來處理JSON數(shù)據(jù)。以下是使用C語言JSON庫的一些示例。
#include#include "cJSON.h" int main() { // 創(chuàng)建JSON對象 cJSON *json = cJSON_CreateObject(); // 往JSON對象中添加鍵值對 cJSON_AddItemToObject(json, "name", cJSON_CreateString("張三")); cJSON_AddItemToObject(json, "age", cJSON_CreateNumber(18)); cJSON_AddItemToObject(json, "gender", cJSON_CreateFalse()); // 將JSON對象轉(zhuǎn)換為字符串 char *jsonStr = cJSON_Print(json); // 輸出JSON字符串 printf("%s\n", jsonStr); // 釋放JSON對象和JSON字符串 cJSON_Delete(json); free(jsonStr); return 0; }
在上面的代碼中,我們首先通過調(diào)用cJSON_CreateObject函數(shù)創(chuàng)建了一個JSON對象,然后使用cJSON_AddItemToObject函數(shù)向JSON對象中添加了三個鍵值對。之后,我們通過調(diào)用cJSON_Print函數(shù)將JSON對象轉(zhuǎn)換成JSON字符串,最后輸出這個JSON字符串。最后,我們還調(diào)用cJSON_Delete函數(shù)釋放了創(chuàng)建的JSON對象和JSON字符串。
#include#include "cJSON.h" int main() { // 解析JSON字符串 char *jsonStr = "{\"name\": \"張三\", \"age\": 18, \"gender\": false}"; cJSON *json = cJSON_Parse(jsonStr); // 從JSON對象中獲取值 char *name = cJSON_GetObjectItem(json, "name")->valuestring; int age = cJSON_GetObjectItem(json, "age")->valueint; int gender = cJSON_GetObjectItem(json, "gender")->valueint; // 輸出獲取到的值 printf("姓名:%s,年齡:%d,性別:%s\n", name, age, gender == 0 ? "女" : "男"); // 釋放JSON對象和JSON字符串 cJSON_Delete(json); free(jsonStr); return 0; }
在上面的代碼中,我們首先定義了一個JSON字符串jsonStr,然后調(diào)用cJSON_Parse函數(shù)將其解析成JSON對象json。之后,我們通過調(diào)用cJSON_GetObjectItem函數(shù)從JSON對象中獲取了三個值,最后輸出獲取到的值。最后,我們還調(diào)用cJSON_Delete函數(shù)釋放了創(chuàng)建的JSON對象和JSON字符串。