在C語言中,解析JSON格式的數據是非常常見的操作,而解析JSON中的數組對象更是經常需要進行的處理。下面我們來介紹一下如何在C語言里解析JSON中的數組對象。
//示例JSON字符串 -->//{"arr": [1, 2, 3, 4, 5]} #include <stdio.h> #include <stdlib.h> #include <jansson.h> int main() { char *json_data = "{\"arr\":[1,2,3,4,5]}"; //要解析的JSON字符串 json_t *root; //定義json_t結構體對象 json_error_t error; root = json_loads(json_data, 0, &error); //將JSON字符串加載到json_t對象root中 if(!root) { fprintf(stderr, "error: on line %d: %s\n", error.line, error.text); exit(EXIT_FAILURE); } json_t *arr = json_object_get(root, "arr"); //從root中獲取arr數組對象 int arr_size = json_array_size(arr); //獲取數組長度 printf("數組長度為:%d\n", arr_size); int i, value; for(i = 0; i < arr_size; i++) { //遍歷數組對象 json_t *temp = json_array_get(arr, i); //獲取對應下標的值 value = json_integer_value(temp); //將值轉化為int類型 printf("%d ", value); } json_decref(root); //釋放json_t對象 return 0; }
在上述代碼中,我們使用了jansson庫中的json_t結構體對象來完成JSON字符串的解析。從JSON字符串中提取數組對象的過程會采用json_object_get函數。我們通過獲取數組長度后,通過循環來遍歷數組對象中的每一個值,將其轉化為int類型并輸出到終端屏幕上。
在C語言中,解析JSON數組對象其實和解析JSON中的其他數據類型對象差別不大,只需要正確地使用相關的函數即可。希望上述的示例代碼可以幫助大家更好地掌握JSON數組對象的解析方法。
下一篇vue 組件嵌套