JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,在現代編程中得到了廣泛的應用。其中有一個特性——動態 key,即 key 的名稱可以是變量或者表達式。
在 C 語言中,我們可以使用第三方庫 cJSON 來解析 JSON。其中,cJSON_GetObjectItem
函數可以獲取指定名稱的 key 對應的值,但是它不能直接獲取動態 key 的值。
那么,該如何獲取動態 key 的值呢?我們可以遍歷所有的 key,找到和動態 key 匹配的 key 名稱,然后獲取對應的值。下面是一段示例代碼:
cJSON *json; cJSON *item; // 假設動態 key 的名稱為 dynamic_key // 遍歷所有的 key for (item = json->child; item != NULL; item = item->next) { // 如果 key 名稱與 dynamic_key 匹配 if (strcmp(item->string, "dynamic_key") == 0) { // 獲取對應的值 cJSON *value = item->value; // 做相應的處理... break; } }
這段代碼中,我們首先通過
總的來說,C 語言中的 cJSON 庫可以很好地解析 JSON 格式數據,而動態 key 的實現也相對簡單,只需要進行簡單的遍歷即可。