C語言中的數組是一種基本數據類型,而JSON字符串數組對象是用來描述一組數據的一種數據格式。在某些場景中,我們需要將C語言中的數組轉換為JSON字符串數組對象,以方便后續處理和存儲。
下面是C語言數組轉JSON字符串數組對象的示例代碼:
#include#include #include /* 學生信息結構體 */ struct student_info { char name[20]; int age; char gender[10]; }; /* 學生信息數組 */ struct student_info students[] = { {"張三", 20, "男"}, {"李四", 21, "女"}, {"王五", 22, "男"}, }; /* 轉換為JSON字符串數組對象 */ const char *to_json() { char *json = (char *)calloc(1, sizeof(char)); strcat(json, "["); int array_size = sizeof(students) / sizeof(struct student_info); for (int i = 0; i< array_size; i++) { strcat(json, "{"); char age_str[10]; sprintf(age_str, "%d", students[i].age); strcat(json, "\"name\": \""); strcat(json, students[i].name); strcat(json, "\", "); strcat(json, "\"age\": "); strcat(json, age_str); strcat(json, ", "); strcat(json, "\"gender\": \""); strcat(json, students[i].gender); strcat(json, "\"}"); if (i< array_size - 1) { strcat(json, ","); } } strcat(json, "]"); return json; } int main() { const char *json_str = to_json(); printf("%s\n", json_str); free((void *)json_str); return 0; }
在這個示例中,我們定義了一個學生信息結構體,并創建一個學生信息數組。然后,我們實現了一個to_json函數,該函數將學生信息數組轉換為JSON字符串數組對象。在該函數中,我們使用strcat函數來拼接JSON字符串,最終返回一個指向堆內存中JSON字符串數組對象的指針。在主函數中,我們打印出JSON字符串并釋放內存。