c語言的vector是一種能夠動態(tài)存儲和遍歷數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。如果想要將vector中的數(shù)據(jù)以json的格式輸出,可以使用cJSON庫。
首先需要在代碼中引入cJSON頭文件:
#include "cJSON.h"
假設(shè)我們已經(jīng)有一個字符串型的vector:
vector<string> strVec = {"hello", "world", "!"};
那么就可以使用cJSON庫來將其轉(zhuǎn)化為json格式的字符串:
cJSON *root = cJSON_CreateArray();
for (int i = 0; i < strVec.size(); i++) {
cJSON_AddStringToObject(root, NULL, strVec[i].c_str());
}
char *jsonStr = cJSON_Print(root);
cout << jsonStr << endl;
cJSON_Delete(root);
上述代碼中,首先創(chuàng)建了一個json數(shù)組的根節(jié)點,然后使用循環(huán)遍歷vector中的字符串,將它們逐一添加到數(shù)組中。最后,使用cJSON_Print函數(shù)將根節(jié)點轉(zhuǎn)換為json格式的字符串,并輸出到控制臺上。
需要注意的是,使用完cJSON庫之后一定要手動釋放內(nèi)存,否則會出現(xiàn)內(nèi)存泄漏的問題。使用cJSON_Delete函數(shù)可以釋放根節(jié)點及其所有子節(jié)點所占用的內(nèi)存。