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

c語言 json 解析

JSON是JavaScript Object Notation的縮寫。它是一種輕量級(jí)的數(shù)據(jù)交換格式,常用于Web應(yīng)用程序中的數(shù)據(jù)傳輸。JSON由鍵值對(duì)組成,使用逗號(hào)分隔。在C語言中,可以使用第三方庫(kù)進(jìn)行JSON解析和生成。以下是一個(gè)使用CJSON庫(kù)進(jìn)行JSON解析的示例:

#include "cJSON.h"
#include#includeint main() {
char *json_str = "{\"name\":\"Tom\", \"age\":25, \"married\":false}";
cJSON *root = cJSON_Parse(json_str);
if (root == NULL) {
printf("Parse JSON failed.\n");
return -1;
}
cJSON *name = cJSON_GetObjectItem(root, "name");
cJSON *age = cJSON_GetObjectItem(root, "age");
cJSON *married = cJSON_GetObjectItem(root, "married");
printf("Name: %s\n", name->valuestring);
printf("Age: %d\n", age->valueint);
printf("Married: %d\n", married->valueint);
cJSON_Delete(root);
return 0;
}

在程序中,首先聲明一個(gè)JSON字符串,然后使用cJSON_Parse()函數(shù)將字符串解析為cJSON對(duì)象。返回的cJSON對(duì)象可以通過cJSON_GetObjectItem()函數(shù)獲取指定鍵的值。使用cJSON_Delete()函數(shù)釋放由cJSON_Parse()函數(shù)創(chuàng)建的cJSON對(duì)象。

CJSON庫(kù)不僅支持JSON解析,還支持JSON生成。以下是一個(gè)使用CJSON庫(kù)生成JSON字符串的示例:

#include "cJSON.h"
#include#includeint main() {
cJSON *root = cJSON_CreateObject();
cJSON_AddStringToObject(root, "name", "Tom");
cJSON_AddNumberToObject(root, "age", 25);
cJSON_AddFalseToObject(root, "married");
char *json_str = cJSON_Print(root);
printf("%s\n", json_str);
free(json_str);
cJSON_Delete(root);
return 0;
}

在程序中,首先使用cJSON_CreateObject()函數(shù)創(chuàng)建一個(gè)空的cJSON對(duì)象,然后使用cJSON_AddXXXToObject()函數(shù)向?qū)ο笾刑砑渔I值對(duì)。最后使用cJSON_Print()函數(shù)將cJSON對(duì)象轉(zhuǎn)換為JSON字符串,并使用free()函數(shù)釋放內(nèi)存。和解析相反,生成JSON的過程是從內(nèi)存生成的,所以無需使用cJSON_Delete()函數(shù)來釋放cJSON對(duì)象。