C語言中,JSON轉(zhuǎn)為String需要使用第三方庫,常用的有cJSON,以下是cJSON庫的使用方法。
#include <stdio.h> #include <cJSON.h> int main() { // 創(chuàng)建一個(gè)JSON對象 cJSON *root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", "張三"); cJSON_AddNumberToObject(root, "age", 20); cJSON *hobby = cJSON_CreateArray(); cJSON_AddItemToArray(hobby, cJSON_CreateString("看電影")); cJSON_AddItemToArray(hobby, cJSON_CreateString("旅游")); cJSON_AddItemToObject(root, "hobby", hobby); // JSON轉(zhuǎn)為String char *jsonStr = cJSON_Print(root); printf("JSON字符串:%s\n", jsonStr); // 釋放內(nèi)存 cJSON_Delete(root); free(jsonStr); return 0; }
首先需要通過cJSON_CreateObject方法創(chuàng)建一個(gè)JSON對象,之后使用cJSON_AddStringToObject、cJSON_AddNumberToObject、cJSON_AddItemToArray等方法給對象添加屬性和數(shù)組元素。添加完成后,通過cJSON_Print方法將JSON對象轉(zhuǎn)為String,并打印出來。最后需要注意,cJSON_Print方法會(huì)創(chuàng)建一段內(nèi)存空間用于存儲(chǔ)轉(zhuǎn)換后的String,所以需要使用free方法釋放內(nèi)存,避免內(nèi)存泄漏。