在C語(yǔ)言中進(jìn)行JSON數(shù)據(jù)的操作經(jīng)常會(huì)用到JSON轉(zhuǎn)int數(shù)組的功能,這種轉(zhuǎn)換會(huì)將JSON數(shù)據(jù)中的數(shù)字部分轉(zhuǎn)化為C語(yǔ)言中的int類型數(shù)組。
#include <stdio.h> #include <jansson.h> int main() { int i; int arr[5]; const char *json_string = "[1, 2, 3, 4, 5]"; json_t *root; root = json_loads(json_string, 0, NULL); if (root == NULL) { fprintf(stderr, "Unable to parse JSON string\n"); return 1; } for (i = 0; i < 5; i++) { arr[i] = json_integer_value(json_array_get(root, i)); } json_decref(root); for (i = 0; i < 5; i++) { printf("%d\n", arr[i]); } return 0; }
以上代碼可以將一個(gè)JSON格式字符串中的數(shù)字部分轉(zhuǎn)化為一個(gè)int類型的數(shù)組。代碼中需要使用json_t、json_loads、json_array_get、json_integer_value等函數(shù)。
json_t是一個(gè)用來(lái)存儲(chǔ)JSON數(shù)據(jù)的類型,json_loads則是用來(lái)將JSON字符串解析為json_t類型的函數(shù),json_array_get函數(shù)是用來(lái)獲取json_t中數(shù)組元素的函數(shù),json_integer_value函數(shù)是用來(lái)獲取json_t中整數(shù)類型的函數(shù)。
通過(guò)一些簡(jiǎn)單的操作,我們可以輕松將JSON數(shù)據(jù)轉(zhuǎn)化為C語(yǔ)言中的int數(shù)組。