在 C 語言中,常常需要將對象序列化為 JSON 格式的字符串,方便網絡傳輸或者數據存儲。此時,需要使用第三方庫來完成對象序列化的過程。
目前,常用的 C 語言 JSON 序列化庫有 cJSON 和 jansson。下面簡單介紹一下這兩個庫的使用方法。
// cJSON 庫使用示例 #include "cJSON.h" int main() { // 創建一個 JSON 對象 cJSON *root = cJSON_CreateObject(); // 向 JSON 對象中添加字段 cJSON_AddStringToObject(root, "name", "Tom"); cJSON_AddNumberToObject(root, "age", 18); // 序列化 JSON 對象為字符串 char *json_str = cJSON_Print(root); // 打印 JSON 字符串 printf("%s\n", json_str); // 釋放 JSON 對象和字符串內存 cJSON_Delete(root); free(json_str); return 0; }
// jansson 庫使用示例 #include "jansson.h" int main() { // 創建一個 JSON 對象 json_t *root = json_object(); // 向 JSON 對象中添加字段 json_object_set_new(root, "name", json_string("Tom")); json_object_set_new(root, "age", json_integer(18)); // 序列化 JSON 對象為字符串 char *json_str = json_dumps(root, JSON_ENCODE_ANY); // 打印 JSON 字符串 printf("%s\n", json_str); // 釋放 JSON 對象和字符串內存 json_decref(root); free(json_str); return 0; }
總的來說,C 語言 JSON 序列化庫的使用方法比較簡單,只需要創建一個 JSON 對象,添加字段,然后將 JSON 對象序列化為字符串即可。但是需要注意的是,一定要釋放JSON 對象和字符串內存,否則會出現內存泄露。