C語言中,我們經常需要將數據進行序列化成JSON字符串,便于數據傳輸和存儲,這時候就可以使用C語言的JSON庫進行處理。
常用的C語言JSON庫有cJSON、JSON-C等。下面以cJSON為例,介紹C語言中如何使用JSON庫進行序列化。
// 定義一個cJSON對象 cJSON *root = cJSON_CreateObject(); // 向對象中添加字符串類型的數據 cJSON_AddStringToObject(root, "name", "Tom"); cJSON_AddStringToObject(root, "age", "20"); // 向對象中添加數組類型的數據 cJSON *array = cJSON_CreateArray(); cJSON_AddItemToArray(array, cJSON_CreateString("music")); cJSON_AddItemToArray(array, cJSON_CreateString("movie")); cJSON_AddItemToObject(root, "hobbies", array); // 序列化對象為JSON字符串 char *json_str = cJSON_Print(root); // 打印JSON字符串 printf("json_str: %s\n", json_str); // 釋放內存 cJSON_Delete(root); free(json_str);
上述代碼中,先定義一個cJSON對象root,接著可以使用cJSON庫提供的函數向對象中添加數據。需要注意的是,添加字符串類型的數據需要使用cJSON_AddStringToObject函數,添加數組類型的數據需要使用cJSON_AddItemToObject和cJSON_CreateArray函數。
最后使用cJSON_Print函數將cJSON對象序列化成JSON字符串,并打印輸出。需要注意的是,序列化后的JSON字符串需要手動釋放內存。