色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c解析json api

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

在現代Web應用程序中,JSON已成為一種常見的數據格式。在C語言中,有許多庫可以用于解析JSON數據,包括cJSONJSMNjson-parser等。

在這里我們將使用cJSON這個輕量級的JSON解析庫來解析JSON數據。首先,需要下載并安裝cJSON庫。然后,我們可以使用以下代碼來解析示例JSON數據:

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

代碼中的第3行定義了一個JSON字符串。第4行使用cJSON_Parse函數將字符串解析成JSON對象。如果解析失敗,cJSON_Parse函數將返回NULL。如果解析成功,我們可以使用各種cJSON_Get*函數來訪問JSON對象中的數據。在上面的示例中,我們使用cJSON_GetObjectItemCaseSensitive函數來獲取JSON對象中指定名稱的對象。如果對象存在且符合指定的類型,我們可以通過value*成員來獲取其值。

cJSON庫不僅支持基本的JSON數據類型,如字符串和數字,還支持嵌套的JSON對象和數組。我們可以使用各種cJSON函數來遍歷JSON對象和數組,并訪問它們的成員。詳情請參閱cJSON文檔。