在C語言中,由于其本身沒有對JSON格式的支持,通常需要使用第三方庫來將JSON轉換為對象。使用第三方庫的好處是可以更方便地操作JSON數據,避免手動解析JSON字符串的繁瑣過程。
// 以 cJSON 為例 #include <stdio.h> #include <stdlib.h> #include <cJSON.h> int main(int argc, char **argv) { // 定義 JSON 字符串變量 char *json_string = "{\"name\": \"Bob\", \"age\": 20}"; // 解析 JSON 字符串 cJSON *root = cJSON_Parse(json_string); // 讀取 JSON 對象屬性 cJSON *name = cJSON_GetObjectItem(root, "name"); cJSON *age = cJSON_GetObjectItem(root, "age"); // 輸出 JSON 對象屬性 printf("name: %s\n", name->valuestring); printf("age: %d\n", age->valueint); // 釋放 cJSON 對象內存 cJSON_Delete(root); return 0; }
以上代碼使用了 cJSON 庫來解析 JSON 字符串,并將其轉換為 cJSON 對象。使用 cJSON_GetObjectItem 方法可以讀取 cJSON 對象的屬性,然后通過 valuestring 和 valueint 來獲取字符串或整數值。
需要注意的一點是,在處理完 cJSON 對象后,需要手動調用 cJSON_Delete 方法來釋放 cJSON 對象內存。