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