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

c 中json

錢良釵1年前8瀏覽0評論

JSON 是一種輕量級的數(shù)據(jù)交換格式,廣泛應(yīng)用于 Web 應(yīng)用程序中。在 C 語言中,我們通常使用第三方庫來處理 JSON 數(shù)據(jù)。以下是一些流行的 C JSON 庫:

- cJSON
- Jansson
- YAJL

cJSON 是最流行的 C JSON 庫之一。它易于使用并且非常輕便。以下是一個使用 cJSON 庫解析 JSON 數(shù)據(jù)的示例:

#include <stdio.h>#include <cJSON.h>int main() {
char *json_string = "{\"name\": \"Alice\",\"age\": 21}";
cJSON *root = cJSON_Parse(json_string);
if (root == NULL) {
printf("Error: cJSON_Parse failed.\n");
return 1;
}
cJSON *name = cJSON_GetObjectItemCaseSensitive(root, "name");
cJSON *age = cJSON_GetObjectItemCaseSensitive(root, "age");
printf("Name: %s\n", name->valuestring);
printf("Age: %d\n", age->valueint);
cJSON_Delete(root);
return 0;
}

上述代碼使用了 cJSON_Parse 函數(shù)將 JSON 字符串解析為 cJSON 對象。接下來,我們使用 cJSON_GetObjectItemCaseSensitive 函數(shù)獲取 root 對象中具有指定名稱的子對象。最后,我們使用 cJSON 對象中具體的 value* 字段來訪問子對象的值。

除了解析 JSON 數(shù)據(jù)之外,我們還可以使用 cJSON 庫生成 JSON 數(shù)據(jù)。以下是一個使用 cJSON 庫生成 JSON 數(shù)據(jù)的示例:

#include <stdio.h>#include <cJSON.h>int main() {
cJSON *root = cJSON_CreateObject();
cJSON_AddStringToObject(root, "name", "Alice");
cJSON_AddNumberToObject(root, "age", 21);
cJSON_AddItemToObject(root, "grades", cJSON_CreateIntArray((const int[]) {80, 90, 100}, 3));
char *json_string = cJSON_Print(root);
printf("JSON String: %s\n", json_string);
cJSON_Delete(root);
free(json_string);
return 0;
}

上述代碼使用了 cJSON_CreateObject 函數(shù)創(chuàng)建了一個空的 cJSON 對象,并使用 cJSON_Add*ToObject 函數(shù)將子對象添加到 root 對象中。最后,我們使用 cJSON_Print 函數(shù)將 cJSON 對象轉(zhuǎn)換為 JSON 字符串。

總之,cJSON 是一種有效的處理 JSON 數(shù)據(jù)的 C 庫。它易于使用并且非常輕便,使其成為許多 C 開發(fā)人員首選的 JSON 庫之一。