在C語言中獲取JSON對象數組,需要借助于第三方庫,比較常用的有cJSON。以下是獲取JSON對象數組的一些示例代碼:
#include <stdio.h> #include <cJSON.h> int main() { char* json_data = "{\"students\":[{\"name\":\"Tom\",\"age\":18},{\"name\":\"Lucy\",\"age\":20}]}"; cJSON* json = cJSON_Parse(json_data); if (json != NULL) { cJSON* students = cJSON_GetObjectItem(json, "students"); cJSON* student = NULL; for (int i = 0; i< cJSON_GetArraySize(students); i++) { student = cJSON_GetArrayItem(students, i); cJSON* name = cJSON_GetObjectItem(student, "name"); cJSON* age = cJSON_GetObjectItem(student, "age"); printf("姓名:%s,年齡:%d\n", name->valuestring, age->valueint); } } cJSON_Delete(json); return 0; }
以上的代碼解釋如下:
1. 引入cJSON庫 2. 定義main函數 3. 聲明一個json_data字符串,并賦初值 4. 調用cJSON_Parse函數將json_data字符串解析成json對象 5. 判斷解析是否成功,如果成功則繼續執行 6. 從json對象中獲取students數組 7. 聲明一個student對象,并循環students數組 8. 從student對象中獲取name和age對象 9. 打印輸出name和age的值 10. 刪除json對象 11. 返回0并結束