色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 操作json文件

錢瀠龍1年前11瀏覽0評論

在C語言中操作JSON文件需要用到第三方的JSON解析庫,比如常見的cJSON。cJSON可以輕松地解析JSON字符串并進行數據組織和讀寫操作。

#include <stdio.h>
#include <stdlib.h>
#include <cJSON.h>
int main(void) {
// 創建JSON對象
cJSON* root = cJSON_CreateObject();
// 添加鍵值對
cJSON_AddStringToObject(root, "name", "張三");
cJSON_AddNumberToObject(root, "age", 24);
cJSON* hobbies = cJSON_CreateArray();
cJSON_AddItemToArray(hobbies, cJSON_CreateString("看電影"));
cJSON_AddItemToArray(hobbies, cJSON_CreateString("打游戲"));
cJSON_AddItemToObject(root, "hobbies", hobbies);
// 將JSON對象轉成字符串
char* json = cJSON_Print(root);
printf("%s", json);
// 釋放內存
free(json);
cJSON_Delete(root);
return 0;
}

上述代碼中,我們使用cJSON庫創建了一個JSON對象,并添加了3個鍵值對,分別是"name"、"age"和"hobbies"。其中,"hobbies"是一個數組類型的鍵值對,我們使用cJSON_CreateArray()函數創建了一個新的cJSON數組,并添加了兩個值,"看電影"和"打游戲"。最后,我們使用cJSON_Print()函數將cJSON對象轉換成字符串并打印出來。

除了創建JSON對象,我們還可以使用cJSON_Parse()函數解析JSON字符串。

#include <stdio.h>
#include <cJSON.h>
int main(void) {
// 待解析的JSON字符串
char* json_str = "{ \"name\": \"李四\", \"age\": 30, \"gender\": \"male\" }";
// 解析JSON字符串
cJSON* root = cJSON_Parse(json_str);
if (root != NULL) {
cJSON* name = cJSON_GetObjectItemCaseSensitive(root, "name");
cJSON* age = cJSON_GetObjectItemCaseSensitive(root, "age");
cJSON* gender = cJSON_GetObjectItemCaseSensitive(root, "gender");
if (cJSON_IsString(name) && cJSON_IsNumber(age) && cJSON_IsString(gender)) {
printf("姓名:%s\n", name->valuestring);
printf("年齡:%d\n", age->valueint);
printf("性別:%s\n", gender->valuestring);
}
cJSON_Delete(root);
}
return 0;
}

在上述代碼中,我們使用cJSON_Parse()函數將json_str解析成了cJSON對象。然后,使用cJSON_GetObjectItemCaseSensitive()函數獲取了"name"、"age"和"gender"對應的cJSON對象,以及使用cJSON_IsXXX()判斷類型是否匹配。最后,我們打印出了解析后的數據。