欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c json文件讀寫

在C語(yǔ)言中,常見的Json讀寫庫(kù)有很多,比如:cJSON、jansson、libscon、rapidjson等等。其中cJSON是使用最廣泛的。

對(duì)于Json文件的讀取,我們可以通過(guò)解析Json字符串來(lái)實(shí)現(xiàn)。首先,需要從文件中讀取Json字符串:

FILE *fp = fopen("example.json", "r");
char readBuffer[65536];
rapidjson::FileReadStream fileStream(fp, readBuffer, sizeof(readBuffer));
rapidjson::Document document;
document.ParseStream(fileStream);

這樣我們就可以得到一個(gè)Json文件的根節(jié)點(diǎn):

assert(document.IsObject());

然后可以通過(guò)以下方式遍歷獲取Json中的各個(gè)節(jié)點(diǎn):

const rapidjson::Value& value = document["MemberName"];
assert(value.IsString());
printf("%s\n", value.GetString());

對(duì)于Json文件的寫入,我們同樣可以使用cJSON庫(kù)來(lái)實(shí)現(xiàn)。首先,需要?jiǎng)?chuàng)建一個(gè)cJSON對(duì)象,然后再添加屬性:

cJSON *root = cJSON_CreateObject();
cJSON_AddStringToObject(root, "name", "Tom");
cJSON_AddNumberToObject(root, "age", 18);
cJSON_AddStringToObject(root, "gender", "male");

最后將Json對(duì)象以字符串形式輸出到文件中:

char * jsonStr = cJSON_Print(root);
FILE *fp = fopen("example.json", "w+");
fwrite(jsonStr, strlen(jsonStr), 1, fp);    
fclose(fp);

使用以上方法,我們就可以方便地實(shí)現(xiàn)Json文件的讀寫。