• 注册
当前位置:代码四四五 > 默认分类 >正文

c json 转 csv

JSON和CSV都是常用的数据格式,它们可以用于在不同的平台和操作系统之间轻松地传递数据。在许多情况下,需要将JSON数据转换为CSV格式,以便能够在电子表格程序(如Microsoft Excel或Google Sheets)中轻松地查看和处理数据。C语言中提供了许多库可以实现JSON和CSV格式之间的转换。

#include 
#include 
#include 
#include 
void json_to_csv(json_t *root, FILE *csv_file) {
json_t *elem;
// 获取json数组元素数量
size_t array_size = json_array_size(root);
// 输出CSV文件的标题行
fprintf(csv_file, "id,name,age,email\n");
for (size_t i = 0; i< array_size;="" i++)="" {="" elem="json_array_get(root," i);="" 获取json对象的键值对="" const="" char="" *id="json_string_value(json_object_get(elem," "id"));="" const="" char="" *name="json_string_value(json_object_get(elem," "name"));="" int="" age="json_integer_value(json_object_get(elem," "age"));="" const="" char="" *email="json_string_value(json_object_get(elem," "email"));="" 将元素写入csv文件="" fprintf(csv_file,="" "%s,%s,%d,%s\n",="" id,="" name,="" age,="" email);="" }="" }="" int="" main()="" {="" 从json文件中读取数据="" file="" *json_file="fopen("data.json"," "r");="" json_error_t="" json_error;="" json_t="" *root="json_loadf(json_file," 0,="" &json_error);="" fclose(json_file);="" if="" (!root)="" {="" fprintf(stderr,="" "error="" parsing="" json:="" %s\n",="" json_error.text);="" return="" 1;="" }="" 将数据写入csv文件="" file="" *csv_file="fopen("data.csv"," "w");="" if="" (!csv_file)="" {="" fprintf(stderr,="" "error="" creating="" csv="" file\n");="" return="" 1;="" }="" json_to_csv(root,="" csv_file);="" fclose(csv_file);="" json_decref(root);="" return="" 0;="">

上述代码段演示了如何将JSON数据转换为CSV文件。通过使用json_t结构以及json_object_get和json_array_get函数,可以将JSON对象和数组转换为C语言中的数据类型。这些数据可以使用fprintf函数按照CSV的格式写入文件。在这个例子中,我们将数据写入名为data.csv的文件中。

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 162202241@qq.com

最新评论

欢迎您发表评论:

请登录之后再进行评论

登录
相关推荐