在C語言中遍歷json數組是一項非常基礎的編程技能,下面我們來解釋如何使用C語言遍歷json數組。
1. 首先我們需要導入一個JSON解析器,如CJSON。 2. 定義JSON數組變量并分配空間。 3. 使用CJSON庫函數獲取JSON數組,并根據json的類型進行解析。 4. 遍歷JSON數組并輸出相應的值。
現在讓我們來看看一個具體的例子。
#include <stdio.h> #include <cJSON.h> int main() { // 定義json字符串,包含一個數組。 char* json_string = "{\"array\":[1,2,3,4]}"; // 解析json字符串獲取根節點。 cJSON* root = cJSON_Parse(json_string); if (!root) { printf("json error: %s\n", cJSON_GetErrorPtr()); return -1; } // 獲取數組節點 cJSON* array_node = cJSON_GetObjectItem(root, "array"); if (!array_node) { printf("json array not found\n"); cJSON_Delete(root); return -1; } // 遍歷數組并輸出值 if (array_node->type == cJSON_Array) { int array_size = cJSON_GetArraySize(array_node); for (int i = 0; i< array_size; i++) { cJSON* item = cJSON_GetArrayItem(array_node, i); printf("array[%d]: %d\n", i, item->valueint); } } cJSON_Delete(root); return 0; }
在此代碼中,我們定義了一個json字符串,包含一個數組。然后我們使用CJSON庫函數解析json字符串,獲取根節點。我們使用cJSON_GetObjectItem函數獲取json數組節點,并使用cJSON_GetArraySize函數獲取數組大小。最后我們使用cJSON_GetArrayItem函數遍歷json數組,輸出結果。