在C語言編程中,我們經常需要將JSON格式的數據轉換成對象數組來進行處理。使用C語言中的JSON庫可以方便地完成這項工作。
首先,我們需要引入JSON庫的頭文件:
#include "cJSON.h"
然后,我們可以定義一個指向JSON數據的指針,并使用cJSON_Parse()將其轉換為cJSON對象:
char* json_string = "{\"name\":\"小明\",\"age\":18,\"gender\":\"男\"}"; // 待轉換的JSON數據 cJSON* json = cJSON_Parse(json_string); // 轉換為cJSON對象
現在,我們可以獲取JSON數據中的具體信息。例如,我們可以獲取“name”字段的值:
char* name = cJSON_GetObjectItem(json, "name")->valuestring; printf("Name: %s\n", name); // 輸出:Name: 小明
或者,我們也可以將JSON數據轉換為對象數組來處理:
char* json_array_string = "[{\"name\":\"小明\",\"age\":18,\"gender\":\"男\"},{\"name\":\"小紅\",\"age\":20,\"gender\":\"女\"}]"; // 待轉換的JSON數組 cJSON* json_array = cJSON_Parse(json_array_string); // 轉換為cJSON對象數組 int array_size = cJSON_GetArraySize(json_array); for(int i = 0; i< array_size; i++){ cJSON* item = cJSON_GetArrayItem(json_array, i); char* name = cJSON_GetObjectItem(item, "name")->valuestring; int age = cJSON_GetObjectItem(item, "age")->valueint; char* gender = cJSON_GetObjectItem(item, "gender")->valuestring; printf("第%d個人:Name: %s, Age: %d, Gender: %s\n", i+1, name, age, gender); }
通過這樣的方式,我們可以方便地將JSON數據轉換成對象數組并進行處理。