在C語言中,把字符串轉成Json格式可以使用第三方庫 cJSON。cJSON 是一個用 C 寫成的 Json 解析和生成庫,適合嵌入式設備開發。
首先需要從cJSON官網下載cJSON源代碼,并將其引入到項目中。在代碼中調用 cJsonAPI.c 和 cJsonObject.c 兩個源文件。
#include "cJSON.h" int main(void) { cJSON *root = cJSON_CreateObject(); // 創建json對象 cJSON_AddItemToObject(root, "name", cJSON_CreateString("Jerry")); // 添加鍵值對 cJSON_AddItemToObject(root, "age", cJSON_CreateNumber(28)); cJSON_AddItemToObject(root, "hobby", cJSON_CreateArray()); cJSON *hobbies = cJSON_GetObjectItem(root, "hobby"); cJSON_AddItemToArray(hobbies, cJSON_CreateString("reading")); cJSON_AddItemToArray(hobbies, cJSON_CreateString("running")); cJSON_AddItemToArray(hobbies, cJSON_CreateString("climbing")); char *json_string = cJSON_Print(root); // 把json對象轉成字符串 cJSON_Delete(root); // 釋放json對象 printf("%s", json_string); // 輸出json字符串 free(json_string); // 釋放字符串內存 return 0; }
在以上代碼中,先創建一個json對象,并添加鍵值對和數組。使用 cJSON_Print 函數把json對象轉成字符串,最后輸出字符串并釋放內存。
需要注意的是,在使用cJson進行Json轉換時,需要特別注意內存泄漏問題,及時使用 cJSON_Delete 釋放json對象內存和 free 釋放字符串內存。
上一篇python 爬取文獻
下一篇python 爬取競品