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

c 將json序列化

錢琪琛2年前8瀏覽0評論

在 C 語言中,我們可以使用各種庫(比如 cJSON、Jansson、JSON-c 等)來將 JSON 數據序列化成字符串或者將字符串反序列化成 JSON 數據。以下是使用 cJSON 庫實現 JSON 序列化的示例代碼。

#include <stdio.h>#include <cJSON.h>int main() {
cJSON *root, *array, *item;
// 創建 JSON 對象
root = cJSON_CreateObject();
array = cJSON_CreateArray();
// 添加鍵值對
cJSON_AddStringToObject(root, "name", "cJSON");
cJSON_AddNumberToObject(root, "version", 1.7);
// 添加數組
cJSON_AddItemToObject(root, "authors", array);
item = cJSON_CreateString("Dave Gamble");
cJSON_AddItemToArray(array, item);
item = cJSON_CreateString("Mark");
cJSON_AddItemToArray(array, item);
// 序列化成字符串
char *json_str = cJSON_Print(root);
printf("%s\n", json_str);
// 釋放內存
cJSON_Delete(root);
cJSON_free(json_str);
return 0;
}

在上面的代碼中,我們首先創建了一個 cJSON_Object 對象 root,然后通過 cJSON_CreateXxxToObject() 和 cJSON_AddXxxToObject() 函數添加一些鍵值對和數組元素。最后,我們使用 cJSON_Print() 函數將 JSON 對象序列化成字符串。

cJSON 庫還提供了其他一些函數,比如 cJSON_Parse() 函數可以將 JSON 字符串反序列化成 cJSON_Object 對象,而 cJSON_GetObjectItem() 和 cJSON_GetArrayItem() 函數可以用于獲取對象或數組中的元素。

總而言之,使用 C 語言進行 JSON 序列化可能還需要些許手動操作,但借助 cJSON 等庫可將代碼實現的簡潔易懂。同時,我們可以自定義函數來滿足自己特殊的需求。