在使用char型變量存儲(chǔ)數(shù)據(jù)時(shí),為了更好地傳遞和處理數(shù)據(jù),我們常常需要將其轉(zhuǎn)換為json格式化數(shù)據(jù)。
例如,我們有一個(gè)char類(lèi)型的字符串變量: char * str = "{"name": "張三", "age": 20}"; 我們可以通過(guò)以下代碼將其轉(zhuǎn)換為json格式化數(shù)據(jù): #include <stdio.h> #include <cJSON.h> int main() { char * str = "{"name": "張三", "age": 20}"; cJSON * json = cJSON_Parse(str); char * jsonStr = cJSON_Print(json); printf("json格式化數(shù)據(jù):\n%s\n", jsonStr); cJSON_Delete(json); free(jsonStr); return 0; } 運(yùn)行結(jié)果: json格式化數(shù)據(jù): { "name": "張三", "age": 20 }
在代碼中,我們首先聲明一個(gè)char類(lèi)型的變量str并初始化它,然后通過(guò)cJSON_Parse()函數(shù)將char類(lèi)型數(shù)據(jù)轉(zhuǎn)換為json格式化數(shù)據(jù),將其存儲(chǔ)在cJSON對(duì)象json中。
接著,我們使用cJSON_Print()函數(shù)將json對(duì)象轉(zhuǎn)換為char類(lèi)型的json格式化數(shù)據(jù),將其存儲(chǔ)在char類(lèi)型變量jsonStr中。
最后,我們使用printf()函數(shù)打印json格式化數(shù)據(jù),再在程序結(jié)束前刪除cJSON對(duì)象json和釋放jsonStr占用的內(nèi)存。