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文件。
上一篇mysql刪除表和數據庫
下一篇python 語音轉字幕