在C語(yǔ)言中,獲取JSON數(shù)組需要使用第三方庫(kù),常用的有cJSON庫(kù)。下面就是一段獲取JSON數(shù)組的示例代碼。
#include <stdio.h> #include <cJSON.h> int main() { char *jsonStr = "[{\"name\":\"Tom\",\"age\":18},{\"name\":\"Jerry\",\"age\":19}]"; cJSON *json = cJSON_Parse(jsonStr); if(json == NULL) { printf("JSON解析失敗!\n"); return -1; } //判斷是否是數(shù)組 if(cJSON_IsArray(json)) { int size = cJSON_GetArraySize(json); for(int i = 0; i < size; i++) { cJSON *item = cJSON_GetArrayItem(json, i); printf("第%d個(gè)元素:\n", i + 1); printf("姓名:%s\n", cJSON_GetObjectItem(item, "name")->valuestring); printf("年齡:%d\n", cJSON_GetObjectItem(item, "age")->valueint); } } cJSON_Delete(json); return 0; }
首先定義了一個(gè)JSON字符串,并使用cJSON_Parse函數(shù)將其解析成cJSON對(duì)象。使用cJSON_IsArray函數(shù)判斷是否是數(shù)組,然后使用cJSON_GetArraySize函數(shù)獲取數(shù)組的長(zhǎng)度,遍歷數(shù)組獲取每個(gè)元素,再使用cJSON_GetObjectItem函數(shù)獲取元素里的屬性值。
這就是C語(yǔ)言獲取JSON數(shù)組的基本流程,需要注意的是,使用cJSON庫(kù)前需要先下載并安裝。