C語言中數(shù)組是很常見的數(shù)據(jù)結構之一,而JSON作為一種輕量級的數(shù)據(jù)交換格式也越來越被廣泛應用。在實際開發(fā)中,我們常常需要將C語言中的數(shù)組轉化為JSON串。下面我們介紹一下如何實現(xiàn)這個功能。
#include "stdio.h" #include "stdlib.h" #include "cJSON.h" int main(void) { int arr[] = {1, 2, 3, 4, 5}; int len = sizeof(arr) / sizeof(int); cJSON *root = cJSON_CreateObject(); cJSON *arr_node = cJSON_CreateIntArray(arr, len); cJSON_AddItemToObject(root, "arr", arr_node); char *json_str = cJSON_Print(root); printf("%s\n", json_str); free(json_str); cJSON_Delete(root); return 0; }
上述代碼使用了cJSON庫,首先創(chuàng)建了一個整數(shù)類型的數(shù)組,然后通過cJSON_CreateObject函數(shù)創(chuàng)建一個JSON對象,并用cJSON_CreateIntArray函數(shù)創(chuàng)建一個對應于C語言數(shù)組的JSON數(shù)組對象。接著使用cJSON_AddItemToObject函數(shù)將這個JSON數(shù)組添加到剛才創(chuàng)建的JSON對象中。最后使用cJSON_Print函數(shù)將JSON對象轉成JSON串并輸出到控制臺上。
當然,如果想要把轉化后的JSON串寫到文件中,可以使用cJSON_PrintToFile函數(shù),例如:
FILE *fp = fopen("out.json", "w+"); cJSON_PrintToFile(root, fp); fclose(fp);
以上就是將C語言數(shù)組轉化為JSON串的簡單過程。希望對您有所幫助!