在C語言中,處理JSON數據結構是很常見的任務。對于一些較為復雜的JSON數據,以數組形式保存的List JSON也是常見的一種形式。那么如何解析List JSON呢?
例如,我們有以下的JSON數據: [ { "name": "小明", "age": 18, "gender": "male" }, { "name": "小紅", "age": 20, "gender": "female" } ] 我們想要解析出每一個人的名字和年齡,可以采用以下的方法:
//使用cJSON庫,需要先引入頭文件 #include "cJSON.h" //定義要解析的JSON數據 char* json_str = "[{\"name\":\"小明\",\"age\":18,\"gender\":\"male\"},{\"name\":\"小紅\",\"age\":20,\"gender\":\"female\"}]"; //解析JSON數據 cJSON* json = cJSON_Parse(json_str); cJSON* item = cJSON_GetArrayItem(json, 0); //獲取第一個item int size = cJSON_GetArraySize(json); for(int i = 0; i< size; i++) { item = cJSON_GetArrayItem(json, i); const char* name = cJSON_GetObjectItem(item, "name")->valuestring; //獲取名字 int age = cJSON_GetObjectItem(item, "age")->valueint; //獲取年齡 printf("name: %s, age: %d\n", name, age); } cJSON_Delete(json); //釋放內存
上述代碼使用了cJSON庫,解析出了每一個人的名字和年齡,并進行了輸出。