在C語言中創(chuàng)建json串有很多方式,本文介紹的是使用cJSON庫來創(chuàng)建json串。
// 首先需要引入cJSON頭文件 #include "cJSON.h" // 創(chuàng)建一個(gè)空的JsonObject cJSON* jsonObj = cJSON_CreateObject(); // 往JsonObject中添加字段和值 cJSON_AddStringToObject(jsonObj, "name", "xiaoming"); cJSON_AddNumberToObject(jsonObj, "age", 18); cJSON_AddItemToObject(jsonObj, "hobbies", cJSON_CreateStringArray((const char**)hobbies, 3)); // 將JsonObject轉(zhuǎn)換成字符串 char* jsonStr = cJSON_Print(jsonObj); // 輸出json串 printf("json串:%s\n", jsonStr); // 釋放內(nèi)存 cJSON_Delete(jsonObj); free(jsonStr);
在上面的代碼中,首先需要引入cJSON頭文件。然后通過cJSON_CreateObject()函數(shù)來創(chuàng)建一個(gè)空的JsonObject,接著通過cJSON_AddXXXToObject()系列函數(shù)向JsonObject中添加字段和值。其中,cJSON_AddStringToObject()函數(shù)用來添加字符串類型的值,cJSON_AddNumberToObject()函數(shù)用來添加數(shù)字類型的值,cJSON_AddItemToObject()函數(shù)用來添加數(shù)組類型的值。最后,通過cJSON_Print()函數(shù)將JsonObject轉(zhuǎn)換成字符串輸出。
需要注意的是,在使用完cJSON之后需要通過cJSON_Delete()函數(shù)來釋放內(nèi)存,同時(shí)也要注意通過free()函數(shù)來釋放轉(zhuǎn)換后的json串字符串。