C JSON是一種非常常用的數據格式,它既可讀性好,又可以輕松地在不同編程語言之間傳遞。在使用C JSON時,我們可能會需要將其轉成字符串格式,以便于在網絡傳輸或文件存儲時使用。以下是如何將C JSON轉成字符串的代碼:
#include <stdio.h> #include <stdlib.h> #include <cjson/cJSON.h> int main() { char* json_str = "{\"name\":\"小明\", \"age\":18}"; cJSON* json = cJSON_Parse(json_str); // 解析 JSON 字符串 char* formatted_json = cJSON_Print(json); // 將 JSON 對象轉成漂亮的字符串 printf("formatted json: %s\n", formatted_json); char* unformatted_json = cJSON_PrintUnformatted(json); // 將 JSON 對象轉成不帶縮進的字符串 printf("unformatted json: %s\n", unformatted_json); cJSON_Delete(json); // 釋放 cJSON 對象 free(formatted_json); // 釋放字符串指針 free(unformatted_json); // 釋放字符串指針 return 0; }
以上代碼中,我們首先需要準備好一個 C JSON 字符串,然后使用 cJSON_Parse 函數將其解析成 cJSON 對象。接著,使用 cJSON_Print 函數可以將 cJSON 對象轉成漂亮的字符串,帶有縮進和換行符。如果我們需要將 JSON 對象轉成不帶縮進的字符串時,可以使用 cJSON_PrintUnformatted 函數。
最后,我們在使用完 cJSON 對象和字符串之后,需要調用 cJSON_Delete 函數來釋放對象內存。同時也需要釋放格式化后的和未格式化的字符串內存。