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

c json 檢索數據

劉柏宏2年前8瀏覽0評論

JSON是一種輕量級的數據交換格式,常被用來表示復雜的數據結構,例如在Web應用程序之間傳遞數據。在C語言中,訪問JSON數據的最常用方法之一是使用CJSON庫。

為了對JSON數據進行檢索,首先需要使用CJSON庫中的cJSON_Parse()函數將其解析為C語言中的數據結構,并在根據需要遍歷數據結構以獲取想要的數據。以下是一個簡單的例子:

#include <stdio.h>
#include <cjson/cJSON.h>
int main() {
char *json_string = "{ \"name\":\"John\", \"age\":30, \"city\":\"New York\" }";
cJSON *root = cJSON_Parse(json_string);
cJSON *name = cJSON_GetObjectItemCaseSensitive(root, "name");
if (cJSON_IsString(name) && (name->valuestring != NULL))
{
printf("Name: %s\n", name->valuestring);
}
cJSON *age = cJSON_GetObjectItemCaseSensitive(root, "age");
if (cJSON_IsNumber(age))
{
printf("Age: %d\n", age->valueint);
}
cJSON *city = cJSON_GetObjectItemCaseSensitive(root, "city");
if (cJSON_IsString(city) && (city->valuestring != NULL))
{
printf("City: %s\n", city->valuestring);
}
cJSON_Delete(root);
return 0;
}

在上面的代碼中,輸入的JSON字符串包含一個名稱為“John”的人物的姓名、年齡和住所。使用cJSON_Parse()函數解析JSON字符串并存儲在root中。接下來,使用cJSON_GetObjectItemCaseSensitive()函數獲取JSON字符串中的每個屬性,然后通過使用相應的get函數(例如cJSON_IsString()和cJSON_IsNumber())來判斷屬性是否是預期的類型,最后使用相應的value函數(例如valuestring和valueint)來獲取值。

為了確保內存管理的正確性,應使用cJSON_Delete()函數在完成任務后釋放JSON數據結構。