C 語言是一種比較底層的語言,不像大多數高級語言一樣有現成的 JSON 庫。不過,我們可以使用 cJSON 這個輕量化的 C 語言庫來實現將 JSON 轉換為對應的對象。下面是一個簡單的示例。
#include <stdio.h> #include <cJSON.h> int main() { char* json_string = "{ \"name\": \"John\", \"age\": 30 }"; cJSON *root = cJSON_Parse(json_string); if (!root) { printf("Failed to parse JSON: %s\n", cJSON_GetErrorPtr()); return -1; } cJSON* name = cJSON_GetObjectItem(root, "name"); char* name_str = cJSON_GetStringValue(name); printf("Name: %s\n", name_str); cJSON* age = cJSON_GetObjectItem(root, "age"); int age_int = cJSON_GetNumberValue(age); printf("Age: %d\n", age_int); cJSON_Delete(root); return 0; }
上述示例中,我們首先需要安裝 cJSON 庫。然后在代碼中,我們定義了一個 JSON 字符串,然后使用 cJSON_Parse 函數將其轉換為 cJSON 對象。若轉換失敗,我們可以通過 cJSON_GetErrorPtr 函數來獲取失敗原因。接著,我們使用 cJSON_GetObjectItem 函數獲取 JSON 中對應的元素,然后使用 cJSON_GetStringValue 和 cJSON_GetNumberValue 函數來獲取元素的值。最后,我們需要使用 cJSON_Delete 函數釋放對 cJSON 對象的占用。