JSON(JavaScript Object Notation)是一種輕量級數(shù)據(jù)交換格式,常用于前后端數(shù)據(jù)通信。在 C 語言中,我們可以使用開源的 cJSON 庫來進行 JSON 解析。
在這里,我們演示如何使用 cJSON 獲取 JSON 對象中的鍵(Key)。
#include <stdio.h>
#include <cjson/cJSON.h>
int main() {
char *json_str = "{\"name\":\"Jason\", \"age\":25}";
// 解析 JSON 字符串
cJSON *root = cJSON_Parse(json_str);
if (root == NULL) {
printf("Error before: [%s]\n", cJSON_GetErrorPtr());
return 1;
}
// 獲取 JSON 對象
cJSON *name_obj = cJSON_GetObjectItem(root, "name");
if (name_obj == NULL) {
printf("Cannot find key: name\n");
return 1;
}
// 輸出結果
printf("Key: name, Value: %s\n", name_obj->valuestring);
// 釋放內存
cJSON_Delete(root);
return 0;
}
在這個例子中,我們首先定義了一個 JSON 字符串,然后使用 cJSON_Parse 函數(shù)解析 JSON 字符串為 cJSON 節(jié)點對象。接著,我們使用 cJSON_GetObjectItem 函數(shù)獲取 JSON 對象中的鍵為 "name" 的值,并輸出到控制臺上。
值得注意的是,我們需要在使用完 cJSON 節(jié)點對象后,手動釋放內存,以避免內存泄漏。