C語言在處理JSON數據請求參數時,可以使用第三方庫 cJSON。利用該庫,我們可以方便地解析JSON數據,并獲取所需的參數。
#include <stdio.h>
#include <string.h>
#include "cJSON.h"
int main() {
char *json_string = "{\"name\":\"John\", \"age\":28, \"gender\":\"male\"}";
cJSON *json = cJSON_Parse(json_string);
if (json == NULL) {
printf("Invalid JSON string\n");
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 *gender = cJSON_GetObjectItemCaseSensitive(json, "gender");
if (cJSON_IsString(gender) && (gender->valuestring != NULL)) {
printf("Gender: %s\n", gender->valuestring);
}
cJSON_Delete(json);
return 0;
}
以上代碼展示了如何使用 cJSON 庫解析 JSON 字符串,并獲取其中的"Name"、"Age"和"Gender"三個參數。通過 cJSON_GetObjectItemCaseSensitive 函數可以獲取 JSON 對象中指定名稱的參數值。