最近在做一個項目時,需要將C語言中的數(shù)據(jù)轉(zhuǎn)換成JSON字符串格式。經(jīng)過查閱資料,我找到了一個實現(xiàn)方案。
#include "cJSON.h" #include <stdio.h> int main() { //創(chuàng)建一個對象 cJSON* obj = cJSON_CreateObject(); //往對象中添加字符串類型數(shù)據(jù) cJSON_AddStringToObject(obj, "name", "Tom"); cJSON_AddStringToObject(obj, "gender", "male"); //創(chuàng)建一個數(shù)組 cJSON* array = cJSON_CreateArray(); //往數(shù)組中添加數(shù)字類型的數(shù)據(jù) cJSON_AddItemToArray(array, cJSON_CreateNumber(18)); cJSON_AddItemToArray(array, cJSON_CreateNumber(25)); //往對象中添加數(shù)組類型的數(shù)據(jù) cJSON_AddItemToObject(obj, "age", array); //將對象轉(zhuǎn)換成JSON字符串格式 char* json_string = cJSON_Print(obj); printf("%s\n", json_string); //釋放內(nèi)存 cJSON_Delete(obj); free(json_string); return 0; }
以上代碼利用了一個名為cJSON的第三方庫,該庫實現(xiàn)了將C語言中的數(shù)據(jù)轉(zhuǎn)換成JSON字符串的功能。使用該庫,我們可以很方便地將C語言中的變量轉(zhuǎn)換為JSON字符串,而無需手動構(gòu)造JSON字符串。
運行以上代碼,我們將得到以下的JSON字符串:
{ "name": "Tom", "gender": "male", "age": [ 18, 25 ] }
該JSON字符串即是將C語言中的數(shù)據(jù)轉(zhuǎn)換成JSON字符串格式的結(jié)果。