C語言中的JSON數組轉換是一種十分實用的技術,它可以將數據以JSON的格式保存在數組里面,便于在程序中進行讀取和處理。以下是一個簡單的C語言代碼示例,展示了如何將JSON字符串轉換成C語言數組。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { char *json_string = "[1,2,3,4,5]"; json_error_t error; json_t *json_array = json_loads(json_string, 0, &error); if(!json_array) { fprintf(stderr, "error: on line %d: %s\n", error.line, error.text); return 1; } if(!json_is_array(json_array)) { fprintf(stderr, "error: json data is not an array\n"); json_decref(json_array); return 1; } int array_size = json_array_size(json_array); int *array = malloc(sizeof(int) * array_size); int i; for(i = 0; i < array_size; i++) { json_t *element = json_array_get(json_array, i); if(!json_is_integer(element)) { fprintf(stderr, "error: element %d is not an integer\n", i); json_decref(json_array); free(array); return 1; } array[i] = json_integer_value(element); } for(i = 0; i < array_size; i++) { printf("%d ", array[i]); } printf("\n"); json_decref(json_array); free(array); return 0; }
在以上代碼示例中,我們首先定義一個JSON字符串,然后使用json_loads()函數將其轉換成JSON對象,并進行判斷是否為一個數組。如果JSON對象不是數組,則會發送錯誤信息并退出程序。
如果JSON對象是一個數組,則使用json_array_size()函數獲取數組的大小,然后使用json_array_get()函數以及json_integer_value()函數從數組中獲取每一個元素的值,并賦值給C語言數組中對應的位置。最后,我們能夠在控制臺中輸出C語言數組的內容。
通過JSON數組轉換,在C語言中我們可以快速方便地讀取和處理以JSON格式存儲的數據,從而提升程序的實用性。
上一篇vue java調用
下一篇python 工作進程池