在 C 語言中,使用 JSON 需要引入相應的庫,例如開源庫 cJSON。
#include <stdio.h>
#include <stdlib.h>
#include <cJSON.h>
int main() {
char* json_str = "{\"name\": \"Lucy\", \"age\": 25}";
cJSON* root = cJSON_Parse(json_str);
if (root) {
cJSON* name = cJSON_GetObjectItemCaseSensitive(root, "name");
cJSON* age = cJSON_GetObjectItemCaseSensitive(root, "age");
if (name && cJSON_IsString(name) && age && cJSON_IsNumber(age)) {
printf("%s is %d years old.\n", name->valuestring, age->valueint);
}
cJSON_Delete(root);
}
return 0;
}
上面這段代碼演示了如何解析一個 JSON 字符串并獲得其中的數據。具體來說:
- 首先定義了一個 JSON 字符串
json_str
,包含了一個名為name
,年齡為25
的人。 - 然后通過
cJSON_Parse 函數將json_str
解析成一個 cJSON 對象。 - 接著使用
cJSON_GetObjectItemCaseSensitive 函數獲取name
和age
這兩個 JSON 對象。 - 最后判斷這兩個 JSON 對象的類型是否正確,并輸出相應的信息。
需要注意的是,在使用 cJSON 庫時需要自行管理內存,比如在使用完 cJSON 對象后需要調用cJSON_Delete
函數來釋放相關內存。