在C語言中,如果我們要將JSON字符串轉(zhuǎn)換成對象數(shù)組,可以使用一些現(xiàn)成的庫來實現(xiàn)。其中最常用的是cJSON庫。
首先,我們需要從JSON字符串中解析出cJSON對象。下面是一個例子:
cJSON *json = cJSON_Parse(json_string); if (json == NULL) { // 解析失敗 }
解析成功后,我們可以訪問它的屬性,并將它們存儲到一個對象數(shù)組中:
cJSON *array = cJSON_GetObjectItem(json, "array_name"); if (array == NULL) { // 沒有找到數(shù)組 } int array_size = cJSON_GetArraySize(array); for (int i = 0; i < array_size; i++) { cJSON *item = cJSON_GetArrayItem(array, i); // 從item中獲取需要的屬性 int id = cJSON_GetObjectItem(item, "id")->valueint; char *name = cJSON_GetObjectItem(item, "name")->valuestring; // 將屬性存儲到數(shù)組中 Object obj; obj.id = id; obj.name = name; object_array[i] = obj; }
最后別忘記釋放cJSON對象:
cJSON_Delete(json);
這就是將JSON字符串轉(zhuǎn)換成對象數(shù)組的C語言實現(xiàn)方法。使用cJSON庫可以使代碼更簡潔、易于維護(hù)。