在C語言中,我們可以使用多層數(shù)組來存儲數(shù)據(jù)。而現(xiàn)在有時候我們需要將這些數(shù)據(jù)轉(zhuǎn)換成JSON字符串進行傳輸或存儲。那么如何實現(xiàn)多層數(shù)組轉(zhuǎn)JSON呢?下面我們來看一下這個過程。
首先我們需要用到一個叫做 cJSON 的第三方庫,它可以方便的將數(shù)據(jù)轉(zhuǎn)化為 JSON 格式。
#include "cJSON.h"
int main() {
// 定義多層數(shù)組
int a[2][2][2] = {{{1, 2}, {3, 4}}, {{5, 6}, {7, 8}}};
// 創(chuàng)建JSON對象
cJSON* root = cJSON_CreateArray();
for (int i = 0; i< 2; i++) {
cJSON* array1 = cJSON_CreateArray();
cJSON_AddItemToArray(root, array1);
for (int j = 0; j< 2; j++) {
cJSON* array2 = cJSON_CreateArray();
cJSON_AddItemToArray(array1, array2);
for (int k = 0; k< 2; k++) {
// 將數(shù)組元素轉(zhuǎn)為JSON對象并添加到JSON數(shù)組中
cJSON* item = cJSON_CreateNumber(a[i][j][k]);
cJSON_AddItemToArray(array2, item);
}
}
}
// 將JSON對象轉(zhuǎn)為字符串輸出
char* str = cJSON_Print(root);
printf("%s", str);
// 釋放內(nèi)存
cJSON_Delete(root);
free(str);
return 0;
}
通過以上代碼,我們可以將多層數(shù)組 a 轉(zhuǎn)換為以下 JSON 字符串:
[
[
[1,2],
[3,4]
],
[
[5,6],
[7,8]
]
]
因此,我們就成功實現(xiàn)了多層數(shù)組轉(zhuǎn)換為 JSON 字符串。