C 后臺(tái)獲取 JSON 鍵值對(duì)的方法可以通過(guò)使用 cJSON 庫(kù)來(lái)實(shí)現(xiàn)。cJSON 是一個(gè)輕量級(jí)的、快速的、可擴(kuò)展的、解析和生成 JSON 格式的 C 語(yǔ)言庫(kù)。
首先需要引入 cJSON 庫(kù)的頭文件,并且使用 cJSON_Parse() 函數(shù)來(lái)解析 JSON 字符串。如下所示:
#include "cJSON.h" int main() { char *json_str = "{\"name\":\"Jack\",\"age\":18}"; cJSON *json = cJSON_Parse(json_str); // 解析成功 if (json != NULL) { cJSON *name = cJSON_GetObjectItem(json, "name"); cJSON *age = cJSON_GetObjectItem(json, "age"); if (name != NULL) { printf("Name: %s\n", name->valuestring); } if (age != NULL) { printf("Age: %d\n", age->valueint); } cJSON_Delete(json); } else { printf("Parse error.\n"); } return 0; }
從上面的代碼可以看出,首先需要有一個(gè) JSON 字符串,然后使用 cJSON_Parse() 函數(shù)進(jìn)行解析。解析出來(lái)的 json 對(duì)象可以使用 cJSON_GetObjectItem() 函數(shù)來(lái)獲取指定 key 的值。
需要注意的是,如果獲取的值是字符串類型,則使用 valuestring 字段獲取;如果獲取的值是數(shù)字類型,則使用 valueint 字段獲取。
最后需要使用 cJSON_Delete() 函數(shù)來(lái)釋放內(nèi)存。