在開發中,常常會涉及到將從后端獲取的數據展示在前端頁面中。其中,數據格式有許多種,其中json是一種常見的數據格式,因為它具有輕量、易讀、易用等優點。在C語言的開發中,如何將表格數據轉成json數據呢?
/* C語言代碼示例 */ #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char *json_data; char table_data[100] = "1,Jack,21;2,Lily,22;3,Mike,25"; // 表格數據 char *token, *subtoken; const char *delim1 = ";", *delim2 = ","; char *saveptr1, *saveptr2; int j, n; json_data = (char*)malloc(100*sizeof(char)); // 分配內存 memset(json_data, 0, sizeof(json_data)); strcat(json_data, "{\n \"data\": [\n"); // 添加json數據頭 for (j = 1, token = strtok_r(table_data, delim1, &saveptr1); token != NULL; j++, token = strtok_r(NULL, delim1, &saveptr1)) { // 用分號分隔行數據 strcat(json_data, " {\n"); n = 1; for (subtoken = strtok_r(token, delim2, &saveptr2); subtoken != NULL; subtoken = strtok_r(NULL, delim2, &saveptr2)) { // 用逗號分隔列數據 switch (n) { case 1: strcat(json_data, " \"id\": "); break; case 2: strcat(json_data, " \"name\": \""); break; case 3: strcat(json_data, " \"age\": "); break; default: break; } strcat(json_data, subtoken); if (n == 2) { strcat(json_data, "\",\n"); } else { strcat(json_data, ",\n"); } n++; } if (j == 3) { strcat(json_data, " }\n"); } else { strcat(json_data, " },\n"); } } strcat(json_data, " ]\n}"); // 添加json數據尾 printf("%s\n", json_data); free(json_data); // 釋放內存 return 0; }
上面的代碼通過使用strtok_r函數分別以分號和逗號為分隔符,將一個樣例表格數據分隔成多行多列的形式,并通過strcat函數將每一列數據的名稱和值形成json數據格式。最后,將添加好的json格式字符串打印出來,即完成了表格轉json數據的過程。
上一篇vue3如何