欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 表格轉json數據

錢斌斌2年前8瀏覽0評論

在開發中,常常會涉及到將從后端獲取的數據展示在前端頁面中。其中,數據格式有許多種,其中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數據的過程。