使用c語言處理json數(shù)據(jù)的時候,常常需要遍歷json數(shù)組來讀取其中的元素。本文將介紹c語言如何遍歷json數(shù)組。
#include <stdio.h> #include <cjson/cJSON.h> int main() { char* json_string = "[1, 2, 3]"; // 待遍歷的json數(shù)組 cJSON* json = cJSON_Parse(json_string); // 解析json字符串為json對象 if(json != NULL) // 判斷json對象是否解析成功 { if(cJSON_IsArray(json)) // 判斷json對象是否為數(shù)組 { int array_size = cJSON_GetArraySize(json); // 獲取數(shù)組大小 for(int i = 0; i< array_size; i++) { cJSON* item = cJSON_GetArrayItem(json, i); // 獲取數(shù)組中的元素 if(cJSON_IsNumber(item)) // 判斷元素是否為數(shù)字 { int number = item->valueint; // 獲取數(shù)字值 printf("%d ", number); } } } cJSON_Delete(json); // 釋放json對象 } return 0; }
在上述代碼中,我們首先定義一個待遍歷的json數(shù)組。然后使用cJSON_Parse()函數(shù)將該數(shù)組解析為json對象。接著我們判斷該對象是否為數(shù)組,如果是,則獲取數(shù)組大小,依次遍歷數(shù)組中的元素。在遍歷的過程中,我們首先判斷元素是否為數(shù)字,如果是,則獲取數(shù)字值并進(jìn)行處理。最后,釋放json對象以釋放內(nèi)存。
到這里,我們已經(jīng)學(xué)會了如何使用c語言遍歷json數(shù)組。在實際應(yīng)用中,我們可以依據(jù)此方法來讀取json數(shù)組中的數(shù)據(jù),并進(jìn)行相應(yīng)的業(yè)務(wù)處理。