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

c json生成csv文件

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

C Json是一個C語言的json解析庫,常用于將json數據轉換為C語言中的數據類型,同時也可以將C語言中的數據類型轉換為json數據。而CSV則是一種以逗號分隔值的文件格式,常用于將數據進行存儲和傳輸。

如果需要將C語言中的json數據轉換為CSV文件,可以使用C Json的API函數以及文件操作函數。具體實現過程如下:

#include <stdio.h>
#include <cjson/cJSON.h>
int main() {
// 解析json文件
FILE *fp = fopen("data.json", "rb");
fseek(fp, 0, SEEK_END);
long size = ftell(fp);
fseek(fp, 0, SEEK_SET);
char *json_data = (char*)malloc(size + 1);
fread(json_data, 1, size, fp);
fclose(fp);
// 解析json數據
cJSON *root = cJSON_Parse(json_data);
// 生成csv文件
fp = fopen("data.csv", "w");
fprintf(fp, "%s,%s,%s,%s\n", "name", "age", "gender", "address");
cJSON *person, *name, *age, *gender, *address;
cJSON_ArrayForEach(person, root) {
name = cJSON_GetObjectItem(person, "name");
age = cJSON_GetObjectItem(person, "age");
gender = cJSON_GetObjectItem(person, "gender");
address = cJSON_GetObjectItem(person, "address");
fprintf(fp, "%s,%d,%s,%s\n", 
name->valuestring, 
age->valueint, 
gender->valuestring, 
address->valuestring);
}
fclose(fp);
// 釋放資源
cJSON_Delete(root);
free(json_data);
return 0;
}

以上代碼將json文件"data.json"中的數據解析并生成CSV文件"data.csv"。解析過程中,使用了cJSON_GetObjectItem函數獲取json對象中的數據,并使用fprintf函數將數據寫入csv文件。