在C語言中,對于JSON對象的操作通常需要用到一些庫函數來進行轉碼。其中比較常用的一些庫函數包括:Jansson、 cJSON、rapidjson等。
#include <jansson.h> int main(){ /* 新建一個JSON對象 */ json_t *json; json = json_object(); /* 添加一個鍵值對 */ json_object_set_new(json, "test_key", json_string("test_value")); /* 轉碼為字符串輸出 */ char *str = json_dumps(json, JSON_ENSURE_ASCII); printf("%s", str); /* 釋放JSON對象和字符串的內存空間 */ json_decref(json); free(str); return 0; }
上述代碼使用了Jansson庫函數,首先新建了一個空的JSON對象,然后添加了一個鍵值對,最后使用json_dumps函數將JSON對象轉碼為字符串并輸出。
#include <cJSON.h> int main(){ /* 新建一個JSON對象 */ cJSON *json = cJSON_CreateObject(); /* 添加一個鍵值對 */ cJSON_AddItemToObject(json, "test_key", cJSON_CreateString("test_value")); /* 轉碼為字符串輸出 */ char *str = cJSON_Print(json); printf("%s", str); /* 釋放JSON對象和字符串的內存空間 */ cJSON_Delete(json); free(str); return 0; }
以上代碼使用了cJSON庫函數的方式與Jansson庫函數基本類似,只是函數的名稱和參數略有不同。
同時,還有一些其他的JSON庫函數,例如rapidjson、 cJSON++等,都可以用于JSON對象的轉碼操作,開發者可以根據實際情況選擇自己熟悉且適用的庫函數。