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

c 抓取json報文

錢浩然1年前8瀏覽0評論

在使用C語言抓取JSON報文時,我們通常需要使用第三方庫來進行相關的處理。常見的JSON處理庫有cJSON、Jansson等。

以cJSON為例,下面是一個簡單的示例代碼:

#include "cJSON.h"
#includeint main() {
// 假設從網絡獲取到以下JSON報文
char* json_str = "{ \"name\":\"張三\", \"age\":20, \"is_student\":true }";
// 解析JSON報文
cJSON* json_root = cJSON_Parse(json_str);
if (json_root == NULL) {
printf("JSON解析失敗!\n");
return -1;
}
// 獲取字段內容
cJSON* json_name = cJSON_GetObjectItem(json_root, "name");
if (!cJSON_IsString(json_name)) {
printf("字段name數據類型不正確!\n");
return -1;
}
cJSON* json_age = cJSON_GetObjectItem(json_root, "age");
if (!cJSON_IsNumber(json_age)) {
printf("字段age數據類型不正確!\n");
return -1;
}
cJSON* json_is_student = cJSON_GetObjectItem(json_root, "is_student");
if (!cJSON_IsBool(json_is_student)) {
printf("字段is_student數據類型不正確!\n");
return -1;
}
// 輸出字段內容
printf("姓名:%s\n", cJSON_GetStringValue(json_name));
printf("年齡:%d\n", json_age->valueint);
printf("是否學生:%s\n", (json_is_student->valueint == 1) ? "是" : "否");
// 釋放資源
cJSON_Delete(json_root);
return 0;
}

在上述示例代碼中,我們首先從網絡獲取到一個JSON報文,然后使用cJSON庫的cJSON_Parse函數進行解析,并通過cJSON_GetObjectItem函數獲取字段內容。最后,我們將獲取到的字段內容通過printf函數輸出。

需要注意的是,cJSON庫在使用前需要先進行編譯和鏈接配置。具體使用方式可參考cJSON官網提供的文檔。