有時(shí)候,我們需要將C語(yǔ)言中的一個(gè)整型數(shù)組轉(zhuǎn)化為JSON數(shù)組,然后使用該JSON數(shù)組作為參數(shù)來(lái)調(diào)用外部接口或者進(jìn)行其他一些操作。
為了轉(zhuǎn)化C數(shù)組為JSON數(shù)組,我們可以使用一個(gè)第三方庫(kù) - cJSON。這個(gè)庫(kù)可以幫助我們輕松實(shí)現(xiàn)將C數(shù)組轉(zhuǎn)化成JSON數(shù)組的過(guò)程。
// cJSONC數(shù)組轉(zhuǎn)化JSON數(shù)組 #include <stdio.h> #include <stdlib.h> #include <cJSON.h> int main() { int arr[] = {1, 2, 3, 4, 5}; cJSON *json_arr = cJSON_CreateArray(); for (int i = 0; i < 5; i++) { cJSON_AddItemToArray(json_arr, cJSON_CreateNumber(arr[i])); } char *json_string = cJSON_Print(json_arr); printf("%s\n", json_string); cJSON_Delete(json_arr); free(json_string); return 0; }
首先,我們創(chuàng)建了一個(gè)整型數(shù)組 arr,里面包含了一些元素。接著,我們使用 cJSON 庫(kù)提供的函數(shù) cJSON_CreateArray() 創(chuàng)建一個(gè)空的 JSON 數(shù)組。然后,使用 cJSON_AddItemToArray() 和 cJSON_CreateNumber() 函數(shù)將 C 數(shù)組中每個(gè)元素轉(zhuǎn)換為 cJSON_Number 對(duì)象,再將這些對(duì)象逐個(gè)添加到 JSON 數(shù)組中。
完成以上操作后,我們使用 cJSON_Print() 函數(shù)將 JSON 數(shù)組轉(zhuǎn)換成字符串形式,并將其顯示在屏幕上。最后,使用 cJSON_Delete() 函數(shù)釋放 JSON 數(shù)組所占用的內(nèi)存,并使用 free() 函數(shù)釋放 JSON 字符串所占用的內(nèi)存。
因此,C 數(shù)組轉(zhuǎn)化 JSON 數(shù)組并不是一件很難的事情,只需要借助第三方庫(kù) cJSON,在代碼中加上一些簡(jiǎn)單的函數(shù)調(diào)用即可。