欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c json套json

呂致盈2年前8瀏覽0評論

C語言中的JSON庫有很多,其中比較常用的是 cJSON 庫。cJSON 提供了一些 API 來創(chuàng)建、解析和釋放 JSON 數(shù)據(jù)。下面我們看一個簡單的實(shí)例:

#include <stdio.h>
#include <cjson/cJSON.h>
int main() {
// 創(chuàng)建 JSON 對象
cJSON *root = cJSON_CreateObject();
cJSON *array = cJSON_CreateArray();
cJSON *item1 = cJSON_CreateString("apple");
cJSON *item2 = cJSON_CreateString("banana");
cJSON_AddItemToArray(array, item1);
cJSON_AddItemToArray(array, item2);
cJSON_AddItemToObject(root, "fruits", array);
// 將 JSON 對象轉(zhuǎn)為字符串
char *json_str = cJSON_Print(root);
printf("%s\n", json_str);
// 解析字符串為 JSON 對象
cJSON *root2 = cJSON_Parse(json_str);
cJSON *array2 = cJSON_GetObjectItem(root2, "fruits");
cJSON *item3 = cJSON_GetArrayItem(array2, 0);
printf("%s\n", item3->valuestring);
// 釋放 JSON 對象
cJSON_Delete(root);
cJSON_Delete(root2);
free(json_str);
return 0;
}

上面的代碼中,我們創(chuàng)建了一個 JSON 對象,并添加一個名為 fruits 的數(shù)組。然后將該 JSON 對象轉(zhuǎn)為字符串,輸出到控制臺。接著將該 JSON 字符串解析為 JSON 對象,獲取 fruits 數(shù)組的第一個元素并輸出。最后釋放 JSON 對象和 JSON 字符串。

在實(shí)際開發(fā)中,我們可能需要套用多層 JSON 數(shù)據(jù)。那么我們可以使用 cJSON 庫提供的遞歸函數(shù)來處理。例如下面的代碼:

// 創(chuàng)建 JSON 對象
cJSON *root = cJSON_CreateObject();
cJSON *subroot = cJSON_CreateObject();
cJSON_AddItemToObject(root, "subobj", subroot);
// 添加數(shù)據(jù)到子對象
cJSON_AddStringToObject(subroot, "name", "John");
cJSON_AddNumberToObject(subroot, "age", 25);
cJSON *subarray = cJSON_CreateArray();
cJSON *subobj = cJSON_CreateObject();
cJSON_AddItemToArray(subarray, subobj);
cJSON_AddStringToObject(subobj, "name", "green");
cJSON_AddNumberToObject(subobj, "age", 22);
cJSON_AddItemToObject(subroot, "friends", subarray);
// 將 JSON 對象轉(zhuǎn)為字符串
char *json_str = cJSON_Print(root);
printf("%s\n", json_str);
// 釋放 JSON 對象
cJSON_Delete(root);
free(json_str);

上面的代碼中,我們創(chuàng)建了一個 JSON 對象,其中包括一個名為 subobj 的子對象,以及該子對象的相關(guān)數(shù)據(jù)。子對象也可能包含子對象和數(shù)組。最后將該 JSON 對象轉(zhuǎn)為字符串,輸出到控制臺。